如果我使用遍歷每個文件:批量查找文件擴展名
@echo off
FOR %%f IN (*\*.\**) DO (
echo %%f
)
我怎麼能打印每個文件的擴展名?我嘗試將%% f分配給一個臨時變量,然後使用代碼:echo "%t:~-3%"
來打印,但沒有成功。
如果我使用遍歷每個文件:批量查找文件擴展名
@echo off
FOR %%f IN (*\*.\**) DO (
echo %%f
)
我怎麼能打印每個文件的擴展名?我嘗試將%% f分配給一個臨時變量,然後使用代碼:echo "%t:~-3%"
來打印,但沒有成功。
FOR命令有幾個內置開關,允許您修改文件名。請嘗試以下操作:
@echo off
for %%i in (*.*) do echo "%%~xi"
欲知詳情,請help for
得到修飾符的完整列表 - 有不少!
這工作,雖然它不是令人眼花繚亂的快速:
@echo off
for %%f in (*.*) do call :procfile %%f
goto :eof
:procfile
set fname=%1
set ename=
:loop1
if "%fname%"=="" (
set ename=
goto :exit1
)
if not "%fname:~-1%"=="." (
set ename=%fname:~-1%%ename%
set fname=%fname:~0,-1%
goto :loop1
)
:exit1
echo.%ename%
goto :eof