正文  数据库 > 文件存储/SD卡 >

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

当有一个完整的文件路径时,如何截取文件名呢,可以使用 echo 命令。如下代码: echo off set a="E:\Program Files\Image-Line\FL Stu...

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

如下代码:


 

echo off 
set a="E:\Program Files\Image-Line\FL Studio 9\FL.exe" 
set b="E:\Program Files\Image-Line\FL Studio 9\Plugins\VST\Revitar20\Effects\GuitarRig\GuitarRig-Revitar2Companion Bank.bnk" 
call :getname %a% 
call :getname %b% 
pause 
exit 
 
:getname 
echo %~nx1 

@echo off
set a="E:\Program Files\Image-Line\FL Studio 9\FL.exe"
set b="E:\Program Files\Image-Line\FL Studio 9\Plugins\VST\Revitar20\Effects\GuitarRig\GuitarRig-Revitar2Companion Bank.bnk"
call :getname %a%
call :getname %b%
pause
exit

:getname
echo %~nx1

 

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

不使用call的话可以直接用


 

echo %~nxa 

echo %~nxa

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

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

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