从string-path获取文件名?

时间:2012-05-01 03:37:31

标签: string batch-file filenames

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

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

输出:

"test.txt"

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

3 个答案:

答案 0 :(得分:54)

方法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 :(得分:9)

如果您的路径是参数,请使用:

%~nx1(1代表第一个参数,我们认为它是第一个参数)

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

答案 2 :(得分:5)

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

FOR /R c:\temp %i in (*.*) do echo %~nxi