gpt4 book ai didi

batch-file - 如何在批处理文件中增加 txt 文件中的值?

转载 作者:行者123 更新时间:2023-12-02 04:39:52 25 4
gpt4 key购买 nike

我一直在尝试编写一个批处理代码:

  1. POST 后自动执行。
  2. 增加一个假定代表 POST 数量的值。
  3. 保存,显示数值,重启电脑。

我试图写一个访问 txt 文件的值;但是该值不会增加。

@echo off

echo.This script is counting the # of POSTs.

cd "C:\Users\HP-M6\Documents"
for /f "tokens=* delims=" %%x in (TEST.txt) do echo %%x

call:myPOSTTest

for /f "tokens=* delims=" %%x in (TEST.txt) do echo %%x

echo.&pause&goto:eof

::--------------------------------------------------------
::-- Function section starts below here
::--------------------------------------------------------
--
:myPOSTTest - here starts my function identified by it's label

cd "C:\Users\HP-M6\Documents"

for /f "tokens=* delims=" %%x in (TEST.txt) do (

set %x%+=1

)

goto:eof

最佳答案

for /f "tokens=* delims=" %%x in (TEST.txt) do (
set %x%+=1
)

这将做的是将 TEST.txt 的内容分配给元变量(循环控制变量)%%x

然后它将值“1”赋给用户变量“[用户变量x的内容]+”

由于用户变量 x 尚未设置,这会将 1 分配给用户变量 +

这应该重写

for /f "tokens=* delims=" %%x in (TEST.txt) do (
set /a var=%%x+1
)

也就是说,将从文件读取到元变量%%x中的值分配给用户变量var + 1。/a set 上的修饰符表示将赋值解析为算术表达式,而不是字符串赋值

然后您需要将值写入文件,因此替换例程是

:myPOSTTest    - here starts my function identified by its label
cd "C:\Users\HP-M6\Documents"
for /f %%x in (TEST.txt) do (
set /a var=%%x+1
)
>TEST.txt echo %var%
goto:eof

请注意,由于文件中只有一个标记,因此 tokensdelims 短语是多余的。

这还假设 TEST.TXT 已经存在并且初始内容为 0。为了确保安全,最终版本应该是:

:myPOSTTest    - here starts my function identified by its label
cd "C:\Users\HP-M6\Documents"
if not exist TEST.txt >TEST.txt echo 0
for /f %%x in (TEST.txt) do (
set /a var=%%x+1
)
>TEST.txt echo %var%
goto:eof

如果文件不存在,它将创建一个初始行简单为“0”的文件。


(小编辑)- 目录更改应该在检测到文件之前完成。

关于batch-file - 如何在批处理文件中增加 txt 文件中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com