批量循环获取文件名

Mur*_*dvi 39 windows cmd batch-file

我在批处理文件中有以下For循环:

for /R c:\test\src %%i IN (*.*) DO (
MOVE %%i C:\test\destination
ECHO %%i
exit
)
Run Code Online (Sandbox Code Playgroud)

ECHO的结果输出整个文件路径Ex:C:\ Foldername\Filename 我只需要ECHO输出文件名.是否有一个特定的命令可以给我文件名?谢谢 !

AKX*_*AKX 75

启用命令扩展时(Windows XP及更新版本),您可以使用语法%~nF(其中F是变量,~n是其名称请求)来获取文件名.

FOR /R C:\Directory %F in (*.*) do echo %~nF
Run Code Online (Sandbox Code Playgroud)

应该只回显文件名.

  • 或%~nxf获取带扩展名的文件名. (38认同)
  • 如果要查看文件扩展名,请在末尾添加%~xF. (17认同)
  • 这个cmd在win7 64bits上对我不起作用."~NF此时出人意料." (6认同)
  • 如果此命令在批处理文件中,请不要忘记使用双百分比:`echo %% ~nF` (2认同)