35

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)

4

3 に答える 3

64

方法 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してください。

于 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 に答える