多くのサブディレクトリを含むディレクトリがあります。これらのサブディレクトリ内には、.asf、.jpg、および .txt ファイルがロードされています。ディレクトリとサブディレクトリ内のすべての *.asf ファイルを一覧表示したいのですが、パス名はありません。
したがって、基本的には dir /s コマンドを実行したいのですが、フルパス名は表示しません。とにかくこれを行うことはありますか。
多くのサブディレクトリを含むディレクトリがあります。これらのサブディレクトリ内には、.asf、.jpg、および .txt ファイルがロードされています。ディレクトリとサブディレクトリ内のすべての *.asf ファイルを一覧表示したいのですが、パス名はありません。
したがって、基本的には dir /s コマンドを実行したいのですが、フルパス名は表示しません。とにかくこれを行うことはありますか。
コマンドシェルプロンプトでこれを試してください:
for /r %a in (*.asf) do @echo %~tza %~nxa
名前のみ:
for /r %a in (*.asf) do @echo %~nxa
あなたが試すことができます
dir /s | findstr .asf
編集:これは役立つと思います。これは私のtest.bat
@echo off
for /f "usebackq TOKENS=*" %%i in (`dir /s /b *.txt`) do echo %%~nxi
pause
/f usebackq
逆引用符内のすべてがdosコマンドとして実行されることを示しています
TOKENS=*
スペースを含むファイル名も解析します。
echo %%~nxi
-n
ファイル名のみをx
リストし、拡張子のみをリストします。両方を組み合わせると、ファイル名と拡張子が表示されます。
編集:
usebackq
は不要で、代わりに一重引用符を使用できます。