修改文件并批量保存相同的文件名

时间:2013-06-05 23:16:24

标签: file batch-file

我想修改一个文件并用相同的文件名保存。这批操作可以批量生产吗?实际上通过以下示例,“%~f1”在执行结束时为空,而在另一个名称中更改它,例如file.txt,它不为空(正常工作)

示例:

@ echo off

if exist "%~f1" (
findstr /r "I.*=" "%~f1" >"%~f1"
) else (
 echo File does NOT exist!
)

提前感谢您的帮助

1 个答案:

答案 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!
)