35

如何从此字符串中获取文件名?

"C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"

输出:

"test.txt"

我真的想在发布之前找到这个,但所有结果都被污染了,他们谈论从当前目录获取文件名(我必须只使用字符串)

4

3 回答 3

64

方法一

for %%F in ("C:\Documents and Settings\Usuario\Escritorio\hello\test.txt") do echo %%~nxF

键入HELP FOR以获取更多信息。

方法二

call :sub "C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
exit /b

:sub
echo %~nx1
exit /b

键入HELP CALL以获取更多信息。

于 2012-05-01T03:55:54.680 回答
20

如果您的路径作为参数出现,只需使用:

%~nx1(1 是第一个参数,我们假设它是第一个)

echo %~nx1会直接返回 test.txt

于 2016-01-18T12:38:20.937 回答
9

假设您需要“c:\temp”目录树下的文件名(包括子目录):

FOR /R c:\temp %i in (*.*) do echo %~nxi
于 2012-05-01T04:14:56.873 回答