Mis*_*hko 6 windows-xp batch-file scheduled-tasks schtasks.exe
我有一个批处理文件,它使用以下命令创建计划的任务schtasks:
schtasks /create /tn my_task_name
/tr "...\my_path\my_task.bat"
/sc daily
/st 10:00:00
/s \\my_computer_name
/u my_username
/p my_password
Run Code Online (Sandbox Code Playgroud)
它可以正常工作,除了在my_task.bat执行时-打开一个新的命令行窗口(执行后关闭)。
我想避免打开此新窗口(即在后台以安静模式运行任务)。
我想用
start /b ...\my_path\my_task.bat
Run Code Online (Sandbox Code Playgroud)
但我不知道如何操作,因为由于必须start从批处理文件中调用,因此需要在之前加上cmd /c,这再次导致新窗口打开。
我该如何解决这个问题?
您可以使用Windows Shell脚本扩展来将批处理文件执行为不可见模式。
创建一个纯文本文件并命名 <scriptname>.vbs
将以下代码粘贴到.vbs文件中
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing
Run Code Online (Sandbox Code Playgroud)根据需要更改批处理文件的名称和路径
您可以通过为 schtasks 指定 /RU 选项来做到这一点。这个选项
指定运行任务的用户帐户(用户上下文)。对于系统帐户,有效值为“”、“NT AUTHORITY\SYSTEM”或“SYSTEM”。
因此,试试这个
schtasks /create /tn my_task_name
....
/st 10:00:00
/ru "SYSTEM"
....
Run Code Online (Sandbox Code Playgroud)