我的计算机上有一项任务,即从我的服务器下载每日备份。基本上是:
bash.exe -c "cd /mnt/d/server_backups && ./download_backup.sh"
这确实有效,但它总是会弹出cmd窗口,这实际上不会打扰我,如果不是因为它中断了我正在做的事情(游戏,看电影,工作)而只是抛弃我到桌面。
将任务更改为“运行是否记录用户”不起作用,因为显然 Windows会话零(无论是什么)无法使用bash发起呼叫。
是否还有另一种方法可以不显示cmd窗口或者在没有自行决定的情况下执行此操作,我希望将其主要关注并将其他所有内容最小化?
答案 0 :(得分:2)
您可以使用VBS脚本在没有cmd.exe窗口的情况下启动bash,如下所示:
hidden_launcher.vbs
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run WScript.Arguments(0), 0
Set WinScriptHost = Nothing
在这里,我们运行收到的第一个参数,0表示start the program hidden
。
现在在任务计划程序中设置您的任务:
C:\Path\to\hidden_launcher.vbs
"bash.exe -c 'cd /mnt/d/server_backups && ./download_backup.sh' "
这应该可以做到!!
答案 1 :(得分:0)
我建议你可以像 wsl -e cd /mnt/d/server_backups && ./download_backup.sh