11 我知道我可以通过这种方式获取输出(以捕获标准和错误): [batchFilePath] > [logFilePath] 2>&1 或这样的标准输出: C:\MyBatchFile.bat > output.txt 但是,有没有一种方法可以在不指定批处理文件本身位置的情况下执行此操作? 例如,假设我运行(只需双击即可执行)C:\ MyFolder \ MyBatch.cmd,退出批处理文件(或完成)后,我可以在C:\ MyFolder \ MyBatch.txt中找到输出。 如果是这样,我需要在批处理文件本身中包含什么代码? windows command-line batch batch-file — TMRW source
6 我能想到的唯一解决方案是>> output.txt在每个命令的末尾添加输出批处理文件的内容。它将在末尾添加文件的输出output.txt 或创建第二个批处理文件,其内容应为.\MyBatchFile.bat > output.txt。 — 莱万斯 source
12 将命令括在方括号中。MyBatchFile.bat: @echo off REM setlocal enabledelayedexpansion ( echo line one echo line two echo line three ) > "%~dpn0.txt" (遇到括号时,将立即对括号内的所有变量求值。使用enabledelayedexpansion延迟评价。 — VlastimilOvčáčík source 1 谢谢,为我省去了创建包装程序的麻烦 — AdrianBR 2014年