如何从此字符串中获取文件名?
"C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
输出:
"test.txt"
在发帖之前,我确实努力查找了这个问题的解决方法,但所有的搜索结果都有误导性,它们都是关于从当前目录获取文件名(而我必须只使用字符串)的。
如何从此字符串中获取文件名?
"C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
输出:
"test.txt"
在发帖之前,我确实努力查找了这个问题的解决方法,但所有的搜索结果都有误导性,它们都是关于从当前目录获取文件名(而我必须只使用字符串)的。
方法1
for %%F in ("C:\Documents and Settings\Usuario\Escritorio\hello\test.txt") do echo %%~nxF
输入 HELP FOR
获取更多信息。
方法2
call :sub "C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
exit /b
:sub
echo %~nx1
exit /b
输入HELP CALL
以获取更多信息。
%1
的扩展,将其视为文件路径并扩展为名称和扩展名,忽略驱动器和路径。从命令提示符中键入 HELP CALL
或 CALL /?
以获取有关所有参数扩展修饰符的更多信息。 - dbenham%~nx1
(这里的“1”代表第一个参数,我们假设它是第一个参数)。echo %~nx1
可以直接返回 test.txt。%~nx2
或%~nx3
。 - Zac假设你需要获取"c:\temp"目录下(包括子目录)的文件名:
FOR /R c:\temp %i in (*.*) do echo %~nxi
dir /b
- Marc