0

たとえば、ファイル名を指定し、スクリプトでこのファイルをコンピューターで検索して、変数へのパスを返すようにします。疑似呼び出しは次のとおりです。

pathToMyFile = SomeSearchFunction(myFileToSearchFor.ext)を設定します

ありがとう

4

2 に答える 2

2

dir /b /s "c:\myFileToSearchFor.ext"フル パス情報を含む、C: ドライブ内のファイルのすべての出現を一覧表示します。

ファイルは複数の場所に存在する可能性があります。

このバッチ コマンドは、変数を最後に見つかった場所に設定します。

for /f "delims=" %%F in ('dir /b /s "c:\myFileToSearchFor.ext"') do set "pathToMyFile=%%~dpF"

このバッチ スクリプトは、変数を最初に見つかった場所に設定します。

for /f "delims=" %%F in ('dir /b /s "c:\myFileToSearchFor.ext"') do (
  set "pathToMyFile=%%~dpF"
  goto :foundIt
)
:foundIt
于 2012-04-09T21:03:05.557 に答える
0

私が知っているこれを実行する関数/プログラムはありません。効率が必要な場合は、すべてのディレクトリを介してファンシー ツリー検索を行うプログラムを作成できます。しかし、私はバッチで解決策を見つけました!

@echo off
for /r "C:\somebasepath" %%i in (*) do (
if "%%~nxi" EQU "%1" (
echo %%i
break
)
)

検索するファイルをバッチ ファイルの最初の引数として渡します。しかし、深いディレクトリにある場合、これは非常に遅くなります。

于 2012-04-09T21:07:29.863 に答える