用于覆盖文件的批处理脚本

时间:2013-11-07 19:07:11

标签: batch-file

set path=folderX
( for /F "delims=" %%a in (!path!/file.txt) do (
   set "line=%%a"
   if !line!==Status=ON (
   set line=Status=OFF
   echo !line!
   )

)) > "!path!/file.txt"

这个脚本要做的是在file.txt中打开folderX,将行Status=ON替换为Status=OFF。但是当我运行代码时它会显示System cannot find the file folderX/file.txt,如果我查看该文件它会变成一个空白文件。如果我指定了其他名称(file2.txt),那么它可以正常工作并且file2.txt已正确编辑并放在正确的文件夹中。为什么是这样?我认为它会使用>

覆盖原文

1 个答案:

答案 0 :(得分:0)

您正在阅读您要写入的同一文件。使用不同的文件名并添加重命名或移动命令作为最后一行。