0
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.txtfolderX将行替换Status=ONStatus=OFF. 但是当我运行它说的代码时System cannot find the file folderX/file.txt,如果我查看文件,它会变成一个空白文件。如果我分配了一个不同的名称 ( file2.txt),那么它可以正常工作并且file2.txt被正确编辑并放置在正确的文件夹中。为什么是这样?我认为它会通过使用覆盖原来的>

4

1 回答 1

0

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

于 2013-11-07T20:39:52.707 回答