在 Windows上 使用schtasks 设置一个执行 batch 脚本的定时任务 每次执行都会出现一个一闪而过的窗口 有碰到过同样问题的吗 求解
1条回答 默认 最新
恐怖如斯恐怖如斯啊 2024-12-03 19:40关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
当使用
schtasks在 Windows 上定时执行一个批处理文件(batch)时,确实可能会出现一个一闪而过的窗口。这是因为默认情况下,批处理文件在执行时会打开一个命令提示符窗口。如果你希望在执行批处理文件时不显示任何窗口,你可以尝试以下方法:方法 1:使用
start命令的隐藏窗口选项在批处理文件中使用
start命令可以隐藏窗口。你可以修改你的批处理文件(例如yourscript.bat),在其中加入以下内容:@echo off start "" "yourscript.bat" /B exit这里的
/B选项告诉start命令在启动应用程序后不要创建新窗口。这样,当你通过schtasks运行这个批处理文件时,就不会出现窗口。方法 2:修改
schtasks的设置你也可以尝试修改
schtasks的设置来避免弹出窗口。当你创建或修改任务时,可以设置“运行级别”(Run level)为“最高”(Highest)。这通常可以防止弹出窗口。你可以在创建或修改任务时使用以下命令:schtasks /create /tn YourTaskName /tr "yourscript.bat" /sc daily /st 09:00 /ru "SYSTEM" /rl Highest这里
/rl Highest设置运行级别为最高。/ru "SYSTEM"以系统帐户权限运行任务,这也有助于避免弹出窗口。请注意替换"YourTaskName"和"yourscript.bat"为你自己的任务名和批处理文件名。方法 3:使用
vbs脚本来隐藏窗口你还可以创建一个简单的 VBScript 脚本,该脚本会运行你的批处理文件并隐藏命令提示符窗口。例如,创建一个名为
runbatchhidden.vbs的文件,内容如下:Set objShell = CreateObject("Wscript.Shell") objShell.Run "yourscript.bat", 0, True然后在你的
schtasks任务中使用这个 VBScript 文件代替直接运行批处理文件。这样,当你运行任务时,VBScript 会运行批处理文件并且不会显示任何窗口。尝试上述方法之一,应该可以帮助你解决执行批处理文件时弹出窗口的问题。
解决 无用评论 打赏 举报