所以这可能是不可能的,但我还是要问
我有一个log .bat脚本,用于收集应用程序的信息和使用时间。因此,我想要的是一个批处理文件,该文件要求用户提供一些基本信息,启动一个子进程或.bat文件,该文件允许用户输入更多信息,而父进程启动并等待Windows应用程序(例如记事本)。可执行程序)。然后,我希望父级和子级进程在用户关闭notepad.exe后退出。
一般来说,这是我到目前为止所拥有的;
@echo off
set someinfo=
set /p someinfo="Enter Some Info Please: "
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b/%%a/%%c)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a:%%b)
:: Starting time and info
echo %someinfo%,%mytime%,%mydate% >> C:\Temp\MSuser.log
:: This would be the child process for additional input
start "Additional info" addinfo.bat
::This is the software I want to start
start /Wait "" "C:\Program Files (x86)\notepad.exe"
:: Once user exits software write log string and exit .bat file
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b/%%a/%%c)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a:%%b)
:: Ending time and info
echo %someinfo%,%mytime%,%mydate% >> C:\Temp\MSuser.log
问题是子进程启动“ addinfo.bat”时,父进程等待子进程完成,然后继续执行下一行代码(启动/ Wait“”“ C:\ Program Files(x86)\ notepad.exe” )
是否可以同时运行子进程和继续父进程?另外,是否有一种方法可以强制子进程在退出父进程之前关闭,例如“ killpid”?
这PID
将从您的子进程中获取,并在父进程完成时将其杀死:
@echo off
set someinfo=
set /p someinfo="Enter Some Info Please: "
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b/%%a/%%c)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a:%%b)
:: Starting time and info
echo %someinfo%,%mytime%,%mydate% >> C:\Temp\MSuser.log
:: This would be the child process for additional input
start "Additional info" adinfo.bat
::This is the software I want to start
start /Wait "" "notepad.exe"
:: Once user exits software write log string and exit .bat file
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b/%%a/%%c)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a:%%b)
:: Ending time and info
echo %someinfo%,%mytime%,%mydate% >> C:\Temp\MSuser.log
for /f "tokens=2 delims=," %%a in ('tasklist /v /fo csv ^| findstr /i "Additional info"') do set "$PID=%%a"
taskkill /PID %$PID%
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句