batch-file - 批量重定向启动命令而不是进程
问题描述
我需要将 start 命令的输出重定向到 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
推荐阅读
- excel - 无法将所有 csv(管道分隔符)转换为 xlsx
- text - Vue3 v-for 从 api 过滤数据渲染数据
- json - 在共享首选项中解码存储的 json 结果字符串
- python - Tensorflow 2 while 循环中的自定义增强层出错
- c# - 连接 WCF Cryptography.CryptographicException:指定的初始化向量 (IV) 与此算法的块大小不匹配
- ios - Xcode Ios 构建失败,不允许操作错误
- java - Git Repositories - Java with maven for azure 中的自动化管道 - 如何为所有存储库添加存储库父亲?
- flutter - FormBuilderDateRangePicker 不再工作
- javascript - 我是否将函数名称与 id 混淆了我得到了这个 errorTypeError: c.includes is not a function
- cypress - 如何在 cypress then() 方法之外返回 href 值