这是一个语法问题,这是一个与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.bat
和counter.txt
位于同一目录中。
更改目录结构时,我会出现"缺失操作员"错误。
这是我将结构更改为 "C:foocounter.txt"
时CMD返回的。
C:foo>for /F " delims==" %i in ("C:foocounter.txt") do set /A temp_counter=%i+1
C:foo>set /A temp_counter=C:foocounter.txt+1
Missing operator.
C:foo>echo 0 1>"C:foocounter.txt"
如果文件在不同目录中,我如何获得相同的代码?
有人还可以解释为什么发生错误吗?
在第一个代码中,您不引用in()子句,因此将其视为文件。
在第二个代码中,您引用了in()子句,因此将其视为字符串文字而不是文件。如果要在文件名上使用引号,则必须将USEBACKQ
选项添加到/f选项中。键入HELP FOR
以获取有关for命令的许多变体的更多信息。