我想从文件路径中获取文件名。 我的问题是,我找到了许多解决方案,通过参数输入来处理它。 但我想使用userinput而不是参数。
参数的灵魂是:
%~nxI //I could be number for the parameter count
我的脚本实际上是这样的:
@echo off
set /p path=Film:
echo %path2%
pause
现在我想从%path%
获取文件名+扩展名并将其写入%path2%
。
有人可以帮我吗?
答案 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