从文件路径获取文件名

问题描述:

我想从文件路径获取文件名。 我的问题是,我发现许多解决方案通过参数输入来处理它。 但我想使用userinput而不是参数。从文件路径获取文件名

的参数soultion是:

%~nxI  //I could be number for the parameter count 

我的脚本实际上是这样的:

@echo off 
    set /p path=Film: 
    echo %path2% 
    pause 

现在我想从%path%获取文件名+扩展名,并将其写入%path2%

任何人都可以帮助我吗?

+0

您知道该路径可能已被用作参数吗? – rene 2012-01-08 13:04:53

set /p x=Film: 
echo %x% 
for %%F in (%x%) do set q=%%~nF 
echo %q% 

...和天啊不提示用户设置PATH 变量!使用其他一些变量名!

+0

thx为快速解决方案。我工作很棒。和thx的提示与变量名。 – 2012-01-08 13:15:10

+2

没问题。另一个开心的顾客顺便说一句,我接受upvotes,'接受',现金垫款等。 – 2012-01-08 13:20:34

在某些情况下,替代使用FOR的替代方法是将通过值的变量替换为CALL中的参数。

call :extractfn %x% q 
echo %q% 
goto :eof 
:extractfn 
set %2=%~n1 
goto :eof