批处理通过字符串截取得到文件名

当有一个完整的文件路径时,如何截取文件名呢,可以使用 echo 命令。

如下代码:

@echo off
set a="E:Program FilesImage-LineFL Studio 9FL.exe"
set b="E:Program FilesImage-LineFL Studio 9PluginsVSTRevitar20EffectsGuitarRigGuitarRig-Revitar2Companion Bank.bnk"
call :getname %a%
call :getname %b%
pause
exit

:getname
echo %~nx1


注意 echo %~nx1 中的1是指调用这个标号的第一个参数,也就是call :getname %a% 中的%a%.

不使用call的话可以直接用 

echo %~nxa


可以用下面的方法将命令的输出赋给变量。

for /f %%i in ('command') do set var=%%i

参考:

http://www.bathome.net/viewthread.php?tid=15527&rpid=102162&ordertype=0&page=1#pid102162


原文地址:https://www.cnblogs.com/dyllove98/p/3187027.html