所以这可能是不可能的,但我会问
我有一个日志.bat脚本,旨在收集应用程序的信息和使用时间。 所以我想要的是一个batch file,询问用户一些基本的信息,启动一个subprocess或.bat文件,允许用户input更多的信息,而父进程启动并等待Windows应用程序(例如记事本。可执行程序)。 然后,我想要父母和subprocess一旦notepad.execlosures由用户退出。
一般来说,这是我迄今为止;
@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:TempMSuser.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%,%mydate% >> C:TempMSuser.log
问题是当subprocess启动“addinfo.bat”时,父进程在继续下一行代码之前等待subprocess完成(start / Wait“”“C: Program Files(x86) notepad.exe” )
在Windows中的Netcatnetworking服务器
双击自己的程序在Windows上运行自己的扩展名的文件?
Windowsbatch file创buildcsv文件和date列表
如何通过批量使用WinRAR?
是否可以同时运行subprocess和继续父进程? 另外还有一种方法可以在退出父进程之前强制closuressubprocess,也许就像'killpid'一样?
searchfunctionfind文件,但不能删除batch file中的function?
CMD认为8大于65
批量嵌套variables
variables没有被设置? ECHOclosures
这将从您的子进程获得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%,%mydate% >> C:TempMSuser.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%,%mydate% >> C:TempMSuser.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] 举报,一经查实,本站将立刻删除。