这是我的剧本。在这种情况下,我试图获取目录的最后一个文件(按字母顺序排序)。每当我运行它时,第6个文件夹中的最后一个文件将在每次迭代中发出。这个脚本有什么问题?
@echo off
cd folder1\folder2
for /D %%G in (*) do (
echo %%G
cd %%G
for /f %%F in ('/b/a-d/on') do (
set last=%%F
)
echo %last%
cd..
pause
)
cd..
cd..
答案 0 :(得分:1)
像这样工作:
将其放入您的工作目录并运行它。
@echo off
setlocal EnableDelayedExpansion
for /d %%a in (*) do (
for /f "delims=" %%F in ('dir /s/b/a-d/on "%%a"') do set $last="%%~nF%%~xF"
echo last of %%a is !$last!
)
echo Done...
pause
编辑:
使代码正常工作:
@echo off
setlocal EnableDelayedExpansion
for /D %%G in (*) do (
echo %%G
cd %%G\
for /f "delims=" %%F in ('dir/b/a-d/on') do (
set last=%%F
)
echo !last!
cd..
pause
)
cd..
cd..