将变量设置为文本文件Batch中的数字

时间:2014-11-23 21:47:48

标签: variables batch-file text-files

我有一个批处理文件(tickets.bat),每次创建不同的票证时,通过设置多个变量并将变量回显到文本文件,我希望票证号码增加1.我试过要通过创建number.txt文件来执行此操作,并且每次执行循环并创建新票证时,都会将%pnumber%设置为文本文件,然后将%number%设置为{{1}但是%pnumber%保持设置为0,即使%pnumber%文件包含数字1并且没有更改。这就是我所拥有的:

number.txt

看起来我的问题是:start cls echo Enter Ticket Info Here: set /p name="Name:" echo Press Enter to Show Ticket Preview set /a pnumber=C:\Batch\ticket\number.txt set /a number=%pnumber%+1 echo %number% > "C:\Batch\ticket\number.txt" echo %name% Ticket Number %number% pause goto start 始终设置为0.除非我错过了其他内容。基本上,我需要它始终将%pnumber%增加1,即使您关闭批处理作业并再次打开它,这就是我使用%number%文件的原因。它没有看到文本文件中的数字或什么?它是一行中的一个数字。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试这样:

@echo Off
:start
cls
echo Enter Ticket Info Here:
set /p name="Name:"
echo Press Enter to Show Ticket Preview
set /p pnumber=<C:\Batch\ticket\number.txt
set /a number=%pnumber%+1
echo %number% >C:\Batch\ticket\number.txt
echo %name% Ticket Number %number%
pause
goto start