1

这是一个与crono的答案相关的语法问题:https ://stackoverflow.com/a/40869/1783806

@echo off

for /f " delims==" %%i in (counter.txt) do set /A temp_counter= %%i+1
echo %temp_counter% > counter.txt

假设count.batandcounter.txt位于同一目录中。

更改目录结构时出现“缺少操作员”错误。

这是我将结构更改为时 CMD 返回的内容"C:\foo\counter.txt"

C:\foo>for /F " delims==" %i in ("C:\foo\counter.txt") do set /A temp_counter=%i+1

C:\foo>set /A temp_counter=C:\foo\counter.txt+1
Missing operator.

C:\foo>echo 0  1>"C:\foo\counter.txt"

如果文件位于不同的目录中,如何使相同的代码工作?

有人还可以解释为什么会发生错误吗?

4

1 回答 1

2

在第一个代码中,您没有引用 IN() 子句,因此将其视为文件。

在第二个代码中,您确实引用了 IN() 子句,因此它被视为字符串文字而不是文件。如果要在文件名周围使用引号,则必须将该USEBACKQ选项添加到 FOR /F 选项中。键入HELP FOR以获取有关 FOR 命令的许多变体的更多信息。

于 2012-11-01T17:31:15.530 回答