17

ファイル名を検索し、そのパスを返すバッチ ファイルを作成して、変数で使用できるようにすることはできますか?

4

2 に答える 2

18
for /r C:\folder %%a in (*) do if "%%~nxa"=="file.txt" set p=%%~dpnxa
if defined p (
echo %p%
) else (
echo File not found
)

検索したファイルが見つかった場合、%p%名前と拡張子を含むファイルのフル パスに変数が設定されます。

パスだけが必要な場合 (ファイルのないフォルダー パスのように) は、set p=%%~dpa代わりに使用します。

: 同じ名前のファイルが複数ある場合、変数は最後に見つかったファイルに設定されます。また、ループ行の後のスクリプトは、for何かが見つかったかどうかを示すためだけに、実際には必要ありません:)

コマンドを使用して実行する場合は、これをdir使用します。同じルールが適用されます

for /f "tokens=*" %%a in ('dir acad.exe /b /s') do set p=%%a
于 2012-12-14T10:33:00.290 に答える