首页 > 解决方案 > 继续在后台运行批处理文件

问题描述

我有一个运行一个 java 应用程序的批处理文件。运行批处理后,它会打开 java 命令行。我必须在后台连续运行它,然后只有我的应用程序才能正常工作。那么,该怎么做呢?

标签: batch-file

解决方案


这里有几个选项

1) 使用hidder.bat - 它使用 IExpress 将文件包装在一个 exe 中,该 exe 将作为隐藏进程启动:

call hidder.bat myBat.bat  myexe.exe
call myexe.exe

2) 使用startHidden.bat - 它需要管理员权限(又名“以管理员身份运行”),因为它使用 SCHTASKS 创建将启动 bat 的计划任务。它还将返回进程的PID。

call startHidden.bat myBat.bat

3) ShellRunJS.bat - 它使用WScript.Shell.Run()方法。

call ShellRunJS.bat "my.bat" -style 0 -wait yes

4) 使用win32process.bat - 它使用Win32_ProcessStartup wmi 类并返回进程的 PID。需要 bat 文件的完整路径:

call win32process.bat "%cd%\my.bat"  -showWindow 0

5) 使用ProcessStartJS.bat - 它是一个自编译的 .net 应用程序并创建一个小的 exe 文件。还返回已启动 bat 的 PID,并且还需要完整路径:

call processStartJs.bat "%cd%\b1.bat" -style Hidden -directory "."

6) 作为替代方案,您还可以通过使用getCmdPid.batwindowMode.bat获取其 PID 来更改已经运行的 bat 文件的状态:

call getCmdPid.bat
call windowMode -pid %errorlevel% -mode hidden

推荐阅读