我有一个批处理文件,它包含以下代码:
@echo off
color 0e
:initialize
set filemaker=1
echo How many files?
echo.
set /p uservar=
echo Creating...
for /l %%x in (1, 1, %uservar%) do echo. 2>%CD%\%filemaker%.txt & set /a filemaker=%filemaker%+1 & timeout /t 1 /nobreak >nul
echo %filemaker%
pause
每次执行它时,生成的文件(无论%uservar%的值如何)始终是名称2,并且始终只有一个文件!我想要多个具有不同名称的文件,例如文件1为名称1,文件2为名称2,依此类推。
任何帮助表示赞赏!
您需要延迟扩展
@echo off
color 0e
:initialize
set filemaker=1
echo How many files?
echo.
set /p uservar=
echo Creating...
SetLocal EnableDelayedExpansion
for /l %%x in (1, 1, %uservar%) do (
echo. 2>%CD%\!filemaker!.txt
set /a filemaker=filemaker+1
timeout /t 1 /nobreak >nul
)
echo %filemaker%
pause
有关更多信息,请检查以下链接:
http://www.robvanderwoude.com/variableexpansion.php
http://ss64.com/nt/delayedexpansion.html
http://blogs.msdn.com/b/oldnewthing/archive/2006/08/23/714650.aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句