我有一个批处理文件,用于将当前计算机上的文件复制到映射的网络驱动器(使用一行xcopy命令)。
当我通过远程桌面连接到服务器时,它可以正常工作。然而,当我将其配置为以与我登录的相同用户身份运行的计划任务时,它却无法工作,并显示错误代码0x4。
有没有什么办法解决这个问题?
我还尝试了dsynchronize,当我点击“同步”时,它可以正常工作。但是以服务方式运行时出现相同的问题。
我有一个批处理文件,用于将当前计算机上的文件复制到映射的网络驱动器(使用一行xcopy命令)。
当我通过远程桌面连接到服务器时,它可以正常工作。然而,当我将其配置为以与我登录的相同用户身份运行的计划任务时,它却无法工作,并显示错误代码0x4。
有没有什么办法解决这个问题?
我还尝试了dsynchronize,当我点击“同步”时,它可以正常工作。但是以服务方式运行时出现相同的问题。
我已经搞定了。以下批处理文件可以在计划程序下运行,即使是本地系统帐户:
net use m: \\server\share /U:server\user password
xcopy C:\source m: /E /Y
每次它映射一个网络驱动器,然后复制到那个驱动器。
可以在不将路径映射为网络驱动器的情况下复制文件到 UNC 路径。只需将 UNC 路径设置在引号中即可。
copy * "\\server\share"
在 Windows7 命令行中运行时,没有引号会出现“语法错误”的情况。
我曾经遇到一个类似的问题,需要将文件从一台服务器复制到数百台其他服务器,但不想将远程驱动器映射到我的本地计算机。由于我没有足够的驱动器字母将数百个远程机器映射到我的本地PC上,因此我无法直接映射远程驱动器并进行复制。
我认为我可以使用 copy、xcopy 或 robocopy,并指定我的凭据给复制命令。但是,这些复制命令都没有提供向远程系统提供凭据的选项。
感谢上面的帖子,我能够创建一个小批处理文件,在其中循环我的主机,并始终重复使用一个驱动器映射来处理所有主机。
以下是我的批处理文件...
echo @off
for /F %%j in (pchostslist1.txt) do (
net use z:\\%%j\c$ /user:domain\myusername mypassword
mkdir \\%%j\c$\tmp\mynewdir
xcopy c:\anyfile.txt \\%%j\c$\tmp\mynewdir
net use z: /delete
)