首页 > 解决方案 > 批量重定向启动命令而不是进程

问题描述

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

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

标签: batch-fileoutput-redirect

解决方案


一种选择:

@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

推荐阅读