问题 Windows批处理文件 - 移动文件仅在任务计划程序中不起作用


我有一个文件,我试图通过定时计划中的批处理文件移动。

移动sourceFile destinationFile。

目标文件位于映射的网络驱动器Z上。

例如,命令将是:

移动C:\ myfile.txt Z:\ myfile.txt

当我通过双击它在Windows中执行批处理文件时,它工作正常。但是,当我通过任务计划程序安排它时,它不起作用。

我补充说:

净使用Z:\ myipaddress

查看问题是否是解决问题,但这也仅适用于批处理文件,而不适用于任务计划程序。

该任务以管理员的最高权限运行。

OS = Windows 2008服务器。

有任何想法吗?

谢谢。


5518
2018-06-19 18:00


起源

您是否以同一用户身份运行脚本 - Mitchel Sellers
是的,以管理员身份运行
你是如何解决这个问题的? - Mukus


答案:


我找到了答案:进入任务的属性并UNCHECK“以最高权限运行”,它将起作用。

理查德的回答促使我更多地研究这个问题。我以管理员身份运行cmd,找不到我的映射驱动器。因此,任务调度程序在以管理员身份运行时无法找到它,“最高权限”正在执行。


6
2018-01-15 16:54



我没有在Windows 2003任务计划程序中看到“以最高权限运行”。它在哪里?


“该任务以管理员的最高权限运行。”提醒我一些事情,这发生在Vista中,仍然发生在Windows 7中(我刚刚升级):我发现当我以管理员身份运行命令提示符时,我的映射网络驱动器不可用。

您可能希望尝试从提升(管理员)命令提示符中运行批处理文件,看看是否会出现相同的错误,我怀疑您会这样做。

您可以将命令“move”安排为运行的计划任务,并将“C:\ myfile.txt Z:\ myfile.txt”参数传递给它? (我没试过这个)


2
2017-08-21 10:26





这听起来像是一个身份验证问题 - 您确定运行该任务的用户具有管理员权限(或者与“工作时”用户登录时相同的权限)吗?


1
2018-06-19 18:07



你可能是对的。网络驱动器是我的主机的云存储驱动器。所以他们正在研究它。但问题是我可以通过远程桌面以管理员身份执行批处理脚本,并且我在任务计划程序中运行与该用户(管理员)相同的脚本,因此如果它是一个身份验证问题,您甚至会认为批处理文件本身会失败。


我不确定问题是什么,但您可以通过稍微更改批处理文件并添加一些输出日志记录来帮助自己:

net use z: \\ipaddress\shared_folder >c:\debug_log.txt 2>&1
move c:\myfile.txt z:\myfile.txt >>c:\debug_log.txt 2>&1

计划任务运行后,您应该能够查看 c:\debug_log.txt 对于所有输出和错误,这两个命令产生。


1
2018-06-19 18:46



谢谢你,格兰特。怀疑产生的错误是:系统找不到指定的驱动器。因此,任务计划程序找不到驱动器,但批处理文件可以。


您是否尝试过使用UNC样式路径而不是映射驱动器?

像(未经测试的):

move \\server\share\file_path \\other_server\other_share\new_file_path 

0
2018-06-19 18:12



当我尝试这个时,我收到错误“无法找到网络名称”