我想修改一个文件并用相同的文件名保存。这批操作可以批量生产吗?实际上通过以下示例,“%~f1”在执行结束时为空,而在另一个名称中更改它,例如file.txt,它不为空(正常工作)
示例:
@ echo off
if exist "%~f1" (
findstr /r "I.*=" "%~f1" >"%~f1"
) else (
echo File does NOT exist!
)
提前感谢您的帮助
答案 0 :(得分:2)
不是那样的。 >
重定向会在findstr
处理之前删除文件。这样做:
@ echo off
if exist "%~f1" (
findstr /r "I.*=" "%~f1" >"%~f1.tmp"
move /Y "%~f1.tmp" "%~f1"
) else (
echo File does NOT exist!
)