批处理文件 - 使用不同的名称创建多个文件

时间:2014-09-08 21:11:10

标签: file batch-file

我有一个批处理文件,它包含以下代码:

@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,依此类推。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要延迟扩展

@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