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



我正在尝试将%%~nxK的值分配给变量t,但这似乎是不可能的

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

(注意:\配置文件*中仅存在一个文件夹)

我也试过

set t="%%~nxK"

set t=%%~nxK

尝试从循环内或循环外@echo t 时,我只看到字母"T",没有分配的值

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

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

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

最新更新