ファイル名を検索し、変数で使用できるようにパスを返すバッチファイルを作成することはできますか?
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
これを行う: -
for /f "delims=" %%F in ('dir /b /s "C:\File.txt" 2^>nul') do set MyVariable=%%F
C
ドライブでFile.txt
を検索していると仮定します。