Can't copy files to UNC Destinations if BAT file is called via scheduled task

こ雲淡風輕ζ 提交于 2019-12-03 06:13:50

问题


I have a bat file copying files from current machine to mapped network drive (one line, xcopy command).

It works when I RDP to server. However, when I run as a scheduled task, and configure it to run under the same user I'm logged in, it doesn't work and give error 0x4.

Is there a way I can achieve this?

I also try dsynchronize and it works when I click synchronized. When I run it as service same issue.


回答1:


I was able to figure it out. Following batch files works under scheduler, even as local system account:

net use m: \\server\share /U:server\user password
xcopy C:\source m: /E /Y

It maps a network drive every time and then copy to that drive




回答2:


It's possible to copy files to a UNC path without mapping as a network drive. Just try to set the UNC path in quotes.

copy * "\\server\share"

Without the quotes, i got a "syntax error" running on Windows7 command line.




回答3:


I had similar issue where I wanted to copy file(s) from a server to hundreds of other servers without mapping a remote drive to my local PC. I didn't have enough drive letters to map hundreds of remote machines to my local PC! I couldn't just map the remote drive and copy.

I thought I could use copy, xcopy, or robocopy, and specify my creds to the copy command. But none of the copy commands had any options to provide credentials to remote system.

Thanks to the post above, I was able to create a small batch file where I just loop through my hosts, and keep re-using just one drive mapping for all my hosts.

Here is my batch file...

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
)



回答4:


I had a similar issue and instead of using net use I simply needed to store the password as part of the scheduled task. You'll notice that it says it only has access to local resources if it's ticked.




回答5:


Who maps the network drive? And are you using the mapped name, instead of the underlying UNC native path? Because it sounds like the mapped drive is setup in your login script, which doesn't run if you're not logged in. So, in a scheduled task, you do have the correct credentials for the UNC path, but no mapped drive letter.



来源:https://stackoverflow.com/questions/10175893/cant-copy-files-to-unc-destinations-if-bat-file-is-called-via-scheduled-task

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!