在批處理文件中,我有以下For循環:獲取文件名中的批次循環
for /R c:\test\src %%i IN (*.*) DO (
MOVE %%i C:\test\destination
ECHO %%i
exit
)
回波的結果輸出整個文件路徑例如:C:\文件夾\文件名 我需要到ECHO只有文件名。是否有一個特定的命令,會給我的文件名? 謝謝!
在批處理文件中,我有以下For循環:獲取文件名中的批次循環
for /R c:\test\src %%i IN (*.*) DO (
MOVE %%i C:\test\destination
ECHO %%i
exit
)
回波的結果輸出整個文件路徑例如:C:\文件夾\文件名 我需要到ECHO只有文件名。是否有一個特定的命令,會給我的文件名? 謝謝!
或者只是%〜F會給你完整的路徑和完整的文件名。
例如,如果你想要在當前目錄中登記所有* .ax文件....
FOR /R C:. %F in (*.ax) do regsvr32 "%~F"
這個工程很好地在Win7(64位):-)
我有點晚了,但我用這個:
dir /B *.* > dir_file.txt
然後你可以做一個簡單的FOR循環來提取文件名並使用它們。例如:
for /f "tokens=* delims= " %%a in (dir_file.txt) do (
gawk -f awk_script_file.awk %%a
)
或將它們存儲到變量(!N1 !,!N2!..!N!!)中以備後用。例如:
set /a N=0
for /f "tokens=* delims= " %%a in (dir_file.txt) do (
set /a N+=1
set v[!N!]=%%a
)
如果你想保持這兩個文件名(只)和擴展,你可以使用%~nxF
:
FOR /R C:\Directory %F in (*.*) do echo %~nxF
順便說一句,如果您使用的是版本做出的這個世紀的窗口,它不是您正在使用的DOS,它是Windows命令提示符。 – whatsisname 2009-07-08 21:12:59