我正在尝试使用类似这样的构造从远程机器复制文件
copy smb://DOMAIN;USERLOGIN:[email protected]/folder/ C:/tmp/
它显示下一条消息 -
The filename, directory name, or volume label syntax is incorrect.
我猜测 win 命令“copy”只适用于目录...其主要思想是通过 SMB 协议在用户登录名和密码内精确复制文件。
因此,我浏览互联网时发现“USE NET”可能对我有帮助。当我尝试使用它时,它告诉我同一资源上有多个连接。然后我尝试“USE NET \COMPNAME\folder DELETE”,它显示操作已成功执行,但在再次尝试使用“USE NET”时,有关多个连接的消息仍然相同。
此外 - 如果我可以制作这样的 NET 资源,我是否可以从中复制\删除文件?
提前致谢。
PS:抱歉我的英语不好。
- - - - -更新 - - - - - - - - - - - -
正如 Somesh 提到的,我曾使用 USE NET 从多个地方下载文件,但不幸的是,登录和密码中的多个连接问题仍然存在。我无法通过使用不带参数的 USE NET 在当前机器上找到任何活动。类似的问题在这里:发生系统错误 1219
如果有人感兴趣的话这是我的示例脚本:
@echo off
@echo initializing loop.
set disk="T"
set destination="D:\downloads\temp"
REM set user = "USER"
REM set password = "PASS"
REM set domain = "DOMAIN"
for /F %%S in (shares.txt) do (
@echo start of performing: %%S
@echo next step: mount network disk %disk%:
pause
DIR %disk%: 1>NUL && net use %disk%: /delete
net use %disk%: %%S /persistent:no
REM net use %%S /USER:%domain%\%user% %password% /persistent:no
@echo next step: copy all files from %disk%: to %destination%
pause
xcopy %disk%:\* %destination% /s /i /c
@echo next step: dismount network disk %disk%:
pause
net use %disk%: /delete
)
pause
答案1
在脚本中,使用 net 命令挂载 SMB/CIFS 共享。
net use \\computername\sharename /persistent:no
您可以使用 xcopy 将文件复制到 SMB/CIFS 共享或从 SMB/CIFS 共享复制文件。复制完成后,您可以选择从 Windows 工作站删除共享。
net use \\computername\sharename /delete
您可以通过运行获取 net 命令的完整选项net help use
。