问题
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