批处理文件手动运行,但不作为 Windows 计划任务运行

batch file runs manually, but not as a Windows Scheduled Task

提问人:David Breedlove 提问时间:11/9/2023 最后编辑:David Breedlove 更新时间:11/9/2023 访问量:43

问:

我有一个简单的批处理文件,每天运行,它将目录的内容列出到一个文本文件中,使用日期命名。

命令如下:

date /t >> C:\TEMP\catalog\"%date:~10,4%.%date:~4,2%.%date:~7,2%_video_catalog.txt"

dir /s /o X:\VIDEO_MOVIES_QUEUE >> C:\TEMP\catalog\"%date:~10,4%.%date:~4,2%.%date:~7,2%_video_catalog.txt"

当我手动执行脚本时,它应按预期工作,但是当我作为计划任务运行时,我得到了这个:

C:\Windows\System32>date /t  1>>C:\TEMP\catalog\"2023.11.08_video_catalog.txt"

C:\Windows\System32>dir /s /o X:\VIDEO_MOVIES_QUEUE  1>>C:\TEMP\catalog\"2023.11.08_video_catalog.txt"
The system cannot find the path specified.

它确实会创建名称中包含日期的文本文件,但不会列出目录的内容。

多年来,我一直在旧计算机上将此脚本作为计划任务运行,没有出现任何问题,但是我正在更换机器,并且需要将作业转移到新机器上。

我已经比较了计划的作业设置,一切都是相同的。我什至认为这可能与区域日期设置有关,但这一切都是一样的。

我尝试将作业设置为“作为系统运行”,结果相同。

有什么想法吗?

批处理文件 命令行 计划任务

评论

0赞 aphoria 11/9/2023
是映射的网络驱动器。如果是这样,驱动器在哪里映射?您可能需要在批处理中映射它,以便以任何用户身份运行计划任务都可以访问它。X:
0赞 Compo 11/9/2023
我们是否假设这是一个网络或非固定磁盘,在运行此脚本的确切时间,该磁盘已装载并可供运行此脚本的帐户的用户访问?(您尚未向我们提供该信息,也未向我们提供 %SystemRoot%\System32\schtasks.exe/query /fo LIST /v /s <computer> [/u [<domain>\]<user> [/p <password>]] /tn <taskname> 的输出)!您提供的只是批处理文件的一个非常基本的部分,有两个命令行,这两个命令行都需要重大改进。X:
0赞 David Breedlove 11/9/2023
X:是一个映射的驱动器 - 我的用户 ID 有权访问该路径,并且计划作业在我的 ID 下运行,因此访问该路径应该不是问题(同一脚本作为其他计算机的计划任务工作)。话虽如此 - 在脚本中,我将映射的 p: 驱动器添加到同一路径,并且按计划作业工作。奇怪的是,该脚本从其他机器运行,而没有映射驱动器的净用途,但我不会失眠试图找出原因 - 很高兴它现在可以工作了。谢谢推荐。

答: 暂无答案