gpt4 book ai didi

Windows 调度程序不执行批处理脚本,但脚本在命令行中运行良好

转载 作者:行者123 更新时间:2023-12-02 00:43:58 24 4
gpt4 key购买 nike

我想创建以今天日期作为文件夹名称的文件夹。然后,我想将数据从远程机器移动到新创建的文件夹。

我写了一个批处理脚本,看起来像

我的批处理脚本。
名称:run.bat

::@ECHO off
SET CurrentDate= %date:~-4,4%_%date:~-10,2%_%date:~7,2%
SET CurrentDate=%CurrentDate: =%
"%SystemRoot%\System32\cmd.exe" /c mkdir "Z:\some_name_commercial\%CurrentDate%"
C:\Users\H213561\Documents\pscp.exe -l username -pw **** username@mftp.somename.com:/Distribution/somename_corp/* "Z:\some_name_commercial\%CurrentDate%"

脚本工作正常,当我从命令行运行上述脚本时,它会执行我打算执行的操作。但我无法将 Windows 调度程序中的脚本安排为日常工作。

我试过了!!!

我认为问题出在 mkdir 命令上,我尝试提供完整路径就像没有运气一样。

"%SystemRoot%\System32\cmd.exe"  /c mkdir  "Z:\some_name_commercial\%CurrentDate%"

P.S : Z:\是挂载的NAS(网盘)

更新:

当我的目标位置不是网络驱动器时,我能够使它正常工作。但是,如果它是网络驱动器,则任务计划程序不起作用。

最佳答案

计划的任务可以根据您的设置在“不同的 session ”中运行。

例如,如果您有“仅在用户登录时运行” enter image description here

然后,您可以看到计划任务将在与用户相同的 session 中运行。如果用户未登录,任务将不会运行。该任务将看到用户的所有驱动器映射

enter image description here

如果设置为“无论用户是否登录都运行”,

enter image description here

然后,该进程在不同的 session 中运行,即所谓的 - session 0

enter image description here

在此模式下,任务无法查看用户的驱动器映射。

(1) 选项一一种方法是在您的任务中显式映射驱动器

例如。

net use Z: /delete
net use Z: <share name>

然后你剩下的任务就可以用 Z 来完成了:

(2) 选项 2

始终使用完全限定路径,即 \\server name\share name\folder name

在大多数情况下,无论用户是否登录,您都希望任务运行。在这种情况下,你不应该检查这个:

enter image description here

关于Windows 调度程序不执行批处理脚本,但脚本在命令行中运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45057305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com