web-dev-qa-db-ja.com

文字列パスからファイル名を取得しますか?

この文字列からファイル名を取得するにはどうすればよいですか?

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

出力:

"test.txt"

投稿する前に実際にこれを見つけようとしましたが、すべての結果が汚染されていました。彼らは現在のディレクトリからファイル名を取得することについて話します(文字列のみで作業する必要があります)

27
ajax333221

方法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詳細については。

57
dbenham

パスがパラメーターとして提供されている場合は、次を使用します。

%〜nx1(1は最初のパラメーター用であり、最初のパラメーターであると仮定します)

エコー%〜nx1は直接test.txtを返します

9
stormofwar

「c:\ temp」ディレクトリツリー(サブディレクトリを含む)の下にあるファイルの名前が必要だと仮定します。

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