Windows 如何将命令行输出写入文件(例如文件名),但如果命令行输出已经存在,则使用附加的名称(例如文件名(1))创建并写入文件?
我正在从Windows命令行运行一个程序(使用批处理脚本),并将输出写入一个文件。像这样: example.exe>filename.csv 如果filename.csv已存在,则会用新输出覆盖该文件。理想情况下,我想要的是,如果文件已经存在,则将输出保存到修改后的文件名,例如filename(1).csvWindows 如何将命令行输出写入文件(例如文件名),但如果命令行输出已经存在,则使用附加的名称(例如文件名(1))创建并写入文件?,windows,batch-file,command-line,Windows,Batch File,Command Line,我正在从Windows命令行运行一个程序(使用批处理脚本),并将输出写入一个文件。像这样: example.exe>filename.csv 如果filename.csv已存在,则会用新输出覆盖该文件。理想情况下,我想要的是,如果文件已经存在,则将输出保存到修改后的文件名,例如filename(1).csv 可以从命令行执行此操作吗?将下面的程序保存为GetOutput.bat: @echo off rem GetOutput.bat program destFile set "destName
可以从命令行执行此操作吗?将下面的程序保存为GetOutput.bat:
@echo off
rem GetOutput.bat program destFile
set "destName=%~N2"
set i=0
:nextName
if not exist "%destName%%~X2" goto runProg
set /A i+=1
set "destName=%~N2 (%i%)"
goto nextName
:runProg
%1 > "%destName%%~X2"
例如:
GetOutput.bat example.exe filename.csv
你没说什么操作系统。嗨,谢谢,我的坏。使用Windows,已添加到post中。