启动命令的批量重定向而不是进程

batch redirection of start command but not the process

我需要将启动命令的输出重定向到 log.txt 文件(例如在路径错误的情况下)而不是它启动的进程。因为如果process.exe是运行时间再长,下一次输出就不能写入日志文件了,因为被进程锁定了。

start "" "path\to the\process.exe" >> log.txt 2>&1
echo next output >> log.txt

一个选项:

@set _FILE_NOT_FOUND=2
@set _fileToRun=path\to the\process.exe
@if not exist "%_fileToRun%" @echo File to run does not exist: %_fileToRun% >> log.txt & @exit /b -%_FILE_NOT_FOUND%
@start "" "%_fileToRun%"
@if %ERRORLEVEL% neq 0 @echo Start failed with: %ERRORLEVEL%
@echo next output >> log.txt