我有一个 bat 文件,将文件从当前机器复制到映射的网络驱动器(一行,xcopy 命令)。
当我 RDP 到服务器时它可以工作。但是,当我作为计划任务运行并将其配置为在我登录的同一用户下运行时,它不起作用并给出错误 0x4。
有没有办法可以做到这一点?
我也尝试了 dsynchronize ,当我单击同步时它可以工作。当我将它作为服务运行时,同样的问题。
我有一个 bat 文件,将文件从当前机器复制到映射的网络驱动器(一行,xcopy 命令)。
当我 RDP 到服务器时它可以工作。但是,当我作为计划任务运行并将其配置为在我登录的同一用户下运行时,它不起作用并给出错误 0x4。
有没有办法可以做到这一点?
我也尝试了 dsynchronize ,当我单击同步时它可以工作。当我将它作为服务运行时,同样的问题。
我能够弄清楚。以下批处理文件在调度程序下工作,即使作为本地系统帐户:
net use m: \\server\share /U:server\user password
xcopy C:\source m: /E /Y
它每次都映射一个网络驱动器,然后复制到该驱动器
可以将文件复制到 UNC 路径而不映射为网络驱动器。只需尝试在引号中设置 UNC 路径。
copy * "\\server\share"
没有引号,我在 Windows7 命令行上运行“语法错误”。
我有类似的问题,我想将文件从服务器复制到数百个其他服务器,而不将远程驱动器映射到我的本地 PC。我没有足够的驱动器号将数百台远程计算机映射到我的本地 PC!我不能只映射远程驱动器并复制。
我想我可以使用 copy、xcopy 或 robocopy,并将我的凭据指定给 copy 命令。但是没有一个复制命令有任何选项可以向远程系统提供凭据。
多亏了上面的帖子,我能够创建一个小批处理文件,在其中循环浏览我的主机,并继续为我的所有主机重复使用一个驱动器映射。
这是我的批处理文件...
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
)
我有一个类似的问题,我只需要将密码存储为计划任务的一部分,而不是使用 net use。您会注意到它说只有勾选它才能访问本地资源。
谁映射网络驱动器?您是否使用映射名称,而不是底层的 UNC 本机路径?因为听起来映射驱动器是在您的登录脚本中设置的,如果您未登录,该脚本将不会运行。因此,在计划任务中,您确实拥有 UNC 路径的正确凭据,但没有映射驱动器号.