Так что это может быть невозможно, но я все равно спрошу
У меня есть сценарий журнала .bat, предназначенный для сбора информации и времени использования приложения. Итак, что мне нужно, это пакетный файл, который запрашивает у пользователя некоторую базовую информацию, запускает дочерний процесс или файл .bat, который позволяет пользователю вводить дополнительную информацию, в то время как родительский процесс запускается и ожидает приложение Windows (например, блокнот. EXE). Затем я хочу, чтобы родительский и дочерний процессы завершались после закрытия 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", родительский процесс ожидает завершения дочернего процесса, прежде чем перейти к следующей строке кода (start /Wait "" "C:\Program Files (x86)\notepad.exe" )
Можно ли запустить дочерний процесс и продолжить родительский процесс одновременно? Кроме того, есть ли способ принудительно закрыть дочерний процесс перед выходом из родительского процесса, может быть, что-то вроде killpid?