从 Windows 7 cmd 启动后台任务?

从 Windows 7 cmd 启动后台任务?

我想从cmdWindows 7 中的命令行启动一个命令并让它完全在后台运行。

基本上,我正在寻找 *nix 提供的功能&

到目前为止,我发现start哪个命令会在新cmd窗口中打开,并且我发现start /B哪个命令不会打开新窗口,而是返回到命令行,但会保持进程附加到cmd.exe启动它的进程(因此,如果关闭cmd.exe它会终止该进程)。

这可能吗?在 *nix 中这很简单,我很难相信这不可能实现,但谁知道呢。

答案1

我知道的唯一简单方法cmd是使用psexec来自 Sysinternals 流程工具。

psexec -d your_command

可以解决问题。(该工具有很多有用的选项,还可以在远程机器上启动进程。非常有用。)

我记得曾经在困境中不得不求助于at和/或,但是......不要那样做;)schtasks

如果您根本不想要新窗口,但可以忍受一个立即消失的窗口(您会看到它弹出然后离开),则可以使用 VBScript 包装器。(网上有很多这种包装器的变体。)

启动器

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run "your_cmd_file_with_full_path.cmd", 0
Set WshShell = Nothing

然后:

psexec -d cscript launcher.vbs

答案2

打开一个 powershell 窗口(只需在 windows 开始菜单的命令区域中输入 powershell),start-job -command“无论您的命令是什么”

相关内容