运行 后台一个bat文件

Running a bat file in background

我有这个 .bat 文件,我想 运行 在后台运行。该文件基本上启动进程。 .bat 文件的输出为:

X:\bin>start_STAF.bat
start_STAF.bat

X:\bin>X:\ActiveState\Perl\perl-5.14.0\bin\perl.exe x:\bin\start_STAF.pl

The operation completed successfully.
The operation completed successfully.
The operation completed successfully.
*
STAFProc is now Started.  Leave this window up.
*

几分钟后按 Enter 键 returns 控件返回到提示符。我不喜欢这个,因为这个过程需要通过 Perl 脚本启动,我不知道如何通过 Perl 自动执行 Enter 键。

有几件事我已经尝试过,但没有成功。

我尝试使用 START /B start_STAF.bat,但它的作用是 returns 返回到提示而不启动 .bat 文件。但是,下次我执行 tasklist 时,.bat 文件会在 stdout 上启动。这让我回到第一点。

我尝试将 stdout/stderr 重定向为 start_STAF.bat >nul 2>&1,但这也不会启动 .bat 文件。

还有什么我可以做的吗?谢谢!

只需 运行 命令 START start_STAF.bat

对于windows10

  1. 写入.bat文件(syncfiles.bat)
"C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" --comment "linux_mint" --startvm "14f426cc-845d-46cb-9f6e-4dbb31a3769a"
  1. 写入 .vbs 文件 (start.vbs):
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing
  1. 运行 vbs文件双击start.vbs