Windows 10任务计划程序:执行bash脚本而不显示cmd

时间:2017-12-03 16:26:32

标签: windows bash cmd scheduled-tasks windows-subsystem-for-linux

我的计算机上有一项任务,即从我的服务器下载每日备份。基本上是:

bash.exe -c "cd /mnt/d/server_backups && ./download_backup.sh"

这确实有效,但它总是会弹出cmd窗口,这实际上不会打扰我,如果不是因为它中断了我正在做的事情(游戏,看电影,工作)而只是抛弃我到桌面。

将任务更改为“运行是否记录用户”不起作用,因为显然 Windows会话零(无论是什么)无法使用bash发起呼叫。

是否还有另一种方法可以不显示cmd窗口或者在没有自行决定的情况下执行此操作,我希望将其主要关注并将其他所有内容最小化?

2 个答案:

答案 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

一样使用 WSL
相关问题