我在batch file中有以下For循环:
for /R c:\test\src %%i IN (*.*) DO ( MOVE %%i C:\test\destination ECHO %%i exit )
ECHO的结果输出整个文件pathEx: C:\ Foldername \ Filename我只需要ECHO出只文件名 。是否有一个特定的命令,会给我的文件名? 谢谢 !
当启用命令扩展(大致为Windows XP和更新版本)时,可以使用语法%〜nF(其中F是变量,〜n是对其名称的请求)仅获取文件名。
FOR /RC:\Directory %F in (*.*) do echo %~nF
应该仅回显文件名。
或只是%〜F会给你完整的路径和完整的文件名。
例如,如果要在当前目录中注册所有* .ax文件….
FOR /RC:. %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 )