从Filepath获取文件名

时间:2012-01-08 13:01:14

标签: batch-file cmd

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

参数的灵魂是:

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

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

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

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

有人可以帮我吗?

2 个答案:

答案 0 :(得分:4)

set /p x=Film:
echo %x%
for %%F in (%x%) do set q=%%~nF
echo %q%
为了Pete的缘故,

...和 不会提示用户设置 PATH 变量!使用其他变量名称!

答案 1 :(得分:2)

替代使用FOR而非在某些情况下可能有用的替代方法是替换将值作为CALL中的参数传递的变量。

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