【发布时间】:2014-02-12 17:38:21
【问题描述】:
需要这个来列出所有没有路径信息的文件名。回声出来时什么都没有。有任何想法吗?请参阅下面的代码。
For %%A in ("C:\temp\*.dmo") do (
set name=%%~nxA
echo %name%
)
Pause
【问题讨论】:
标签: file loops batch-file for-loop echo
需要这个来列出所有没有路径信息的文件名。回声出来时什么都没有。有任何想法吗?请参阅下面的代码。
For %%A in ("C:\temp\*.dmo") do (
set name=%%~nxA
echo %name%
)
Pause
【问题讨论】:
标签: file loops batch-file for-loop echo
你想setlocal enabledelayedexpansion。否则该变量只计算一次。
【讨论】:
如果您在循环内设置变量,则必须使用 enabledelayedexpansion 来访问它。
setlocal enabledelayedexpansion
For %%A in ("C:\temp\*.dmo") do (
set name=%%~nxA
echo !name!
)
Pause
或者只是:
For %%A in ("C:\temp\*.dmo") do (
echo %%~nxa
)
Pause
【讨论】:
For %%A in ("C:\temp\*.dmo") do (
set name=%%~nxA
call echo %%name%%
)
Pause
叹息。去图吧。
【讨论】: