批量。在路径中使用变量作为文件夹名称

时间:2017-07-22 14:45:28

标签: batch-file

我有批处理问题。我希望每次打开批次时都创建新的目录并保存文件

这是我的代码示例

SET i=0
FOR /L %%i IN (0,1,100) DO (
    IF NOT EXIST res\%%i (
        mkdir res\%%i
        GOTO run
    )
)
:run
start X.exe /stext res\%i%\X.txt

正在创建文件夹。

我有问题
start X.exe /stext res\%i%\X.txt

由于

1 个答案:

答案 0 :(得分:0)

%i%%%i是完全不同的变量。 %i%是常规批量变量,而%%i仅存在于for循环中。致电goto run后,它就不再存在。

您可以将%%i存储在变量中,然后使用delayed expansion调用它,因为您将其设置在代码块(一组括号)中。

@echo off
setlocal enabledelayedexpansion
SET i=0
FOR /L %%i IN (0,1,100) DO (
    IF NOT EXIST res\%%i (
        set i=%%i
        mkdir res\!i!
        GOTO run
    )
)
:run
start X.exe /stext res\!i!\X.txt