通过CMD获取文件名

通过CMD获取文件名

我有这个代码:

for /f "delims=" %%a in ('dir /s /b sqlncli*.msi') do set "name=%%a"

它给了我文件的完整路径。

我需要的不是完整路径,只是文件名。

我如何从完整路径中提取它?

答案1

我只需要这个完整路径中的文件名。

对于 /f "delims=" %%a 在 ('dir /s /b sqlncli*.msi') 中设置 "name=%%a"

使用%~n运算符:

for /f "delims=" %%a in ('dir /s /b sqlncli*.msi') do set "name=%%~na" 

如果您想要文件名和扩展名,请使用 %~nx运算符:

for /f "delims=" %%a in ('dir /s /b sqlncli*.msi') do set "name=%%~nxa" 

%~n1扩展%1为没有文件扩展名或路径的文件名 -MyFile 或者如果仅存在路径,且没有尾随反斜杠,则扩展为该路径中的最后一个文件夹。

%~x1仅扩展%1到文件扩展名 -.txt

来源参数- 命令行参数(或参数)是传递到批处理脚本的任何值。


进一步阅读

相关内容