Get filename from string-path?

浪尽此生 提交于 2019-11-29 01:42:43

问题


How do I get the filename from this string?

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

output:

"test.txt"

I really tried to find this one before posting, but all the results were contaminated, they talk about getting filenames from current dir (I must work with strings only)


回答1:


Method 1

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

Type HELP FOR for more info.

Method 2

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

:sub
echo %~nx1
exit /b

Type HELP CALL for more info.




回答2:


if your path comes as a parameter, just use:

%~nx1 (1 is for the first param and we suppose it's the first one)

echo %~nx1 would return directly test.txt




回答3:


Assuming you need the the names of files under the "c:\temp" directory tree (including sub-directories):

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


来源:https://stackoverflow.com/questions/10393248/get-filename-from-string-path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!