如何在将文件复制到网络位置的批处理脚本中提供凭据?

Zac*_*Zac 38 passwords permissions networking batch-file

环境是Windows Web Server 2008,我只是尝试将文件夹中的文件复制到网络位置(托管备份网络文件夹).这是我的.bat文件,在我的.bat文件的文件夹中运行:

copy *.bak \\networklocation\*.bak
pause
Run Code Online (Sandbox Code Playgroud)

但是\\networklocation需要用户名x和密码y,因此运行脚本会给出:

Logon failure: unknown user name or bad password.
Run Code Online (Sandbox Code Playgroud)

我无法找到提供我的凭据的方法.我尝试创建计划任务并修改安全选项,但这似乎只允许您使用与计算机相关的凭据(即我尝试输入用户名x而无法找到它).

如何使用所有正确的权限运行此脚本?

解:

net use \\networklocation\sharefolder password /USER:username
copy \*.bak \\networklocation\sharefolder\*.bak
Run Code Online (Sandbox Code Playgroud)

Max*_*Max 43

尝试使用net use脚本中的命令首先映射共享,因为您可以提供凭据.然后,您的复制命令应使用这些凭据.

net use \\<network-location>\<some-share>\ password /USER:username
Run Code Online (Sandbox Code Playgroud)

  • 就像一个信息一样,在Windows XP上我遇到了这个脚本的错误,但是如果你不在目录名后面加上反斜杠就行了.谢谢! (5认同)

小智 5

您还可以将共享映射到本地驱动器,如下所示:

net use X: "\\servername\share" /user:morgan password
Run Code Online (Sandbox Code Playgroud)