如何将FOR循环中的匹配项分配给变量 - 批处理

时间:2015-04-26 12:33:58

标签: batch-file

我正在尝试将 %% ~nxK 的值分配给变量 t ,但似乎无法做到

FOR /D %%K in ("%APPDATA%\Mozilla\Firefox\Profiles\*") DO (
    set "t=%%~nxK"
    @echo t
)
pause

(注意:\ Profiles *中只有一个文件夹)

我也试过

set t="%%~nxK"

set t=%%~nxK

在循环内或循环外尝试 @echo t 时,我只看到字母“T”且没有指定值

2 个答案:

答案 0 :(得分:0)

在DOS中打印变量的语法是echo %t%

答案 1 :(得分:0)

setlocal enableDelayedExpansion
FOR /D %%K in ("%APPDATA%\Mozilla\Firefox\Profiles\*") DO (
    set "t=%%~nxK"
    @echo !t!
)
pause

在这种情况下,您需要延迟扩展