バッチで特定のファイルを検索する方法

バッチで特定のファイルを検索する方法

バッチを作成し、特定のファイルを見つけたいのですが、それを見つけることは可能ですか? ファイルが見つかるまですべてのドライブを検索するコマンドである必要があり、誰でも使用できるようにしたいです。

たとえば、「FarCry4.exe」を見つけたいのですが、私のようにデフォルトのディレクトリに Far Cry 4 をインストールしていない人もいるかもしれないので、他の人にとって普遍的なものにする必要があります。

試してみましたfindstr /x /c:"FarCry4" *.exeが、完了すると開くことができないというメッセージが表示され、自動的に閉じてしまいます。

コマンドで可能ですかfindstr、それともユーザーが自分のパスを私のパスと交換する必要がありますか?

答え1

findstrコマンドで可能ですか?

FindStr は「ファイル内の文字列を検索します」(を参照findstr /?)。したがって、ここでのコマンドは、すべての EXE 内の文字列「FarCry4」を検索しており、ファイル名とは関係ありません。

たとえば、「FarCry4.exe」を見つけたいのですが、これは他のユーザーにとっても汎用的である必要があります。なぜなら、Far Cry 4 がデフォルトのディレクトリにインストールされていない人もいるかもしれないからです。

dirオプションを使用すると/s、現在のディレクトリからすべてのサブディレクトリを検索できます。

ドライブのルート (つまりc:\) に移動し、以下を実行します。

dir FarCry4.exe /s /b 2>null

検索するシステム内のドライブごとにこれを実行する必要があります。

/b「生の」出力を生成するため、ヘッダーはなく、見つかった各ファイルには完全なパスが含まれます。

dir /?Dirのオプションの詳細については、 を実行してください。また、 2>nullDirによって報告されたエラー(アクセスが拒否された、パスが長すぎるなど)がリダイレクトされます。ヌル画面の代わりに。

関連情報