Windowsで再帰的なgrepを実行する必要があります。Unix/ Linuxでは次のようになります。
grep -i 'string' `find . -print`
またはより好ましい方法:
find . -print | xargs grep -i 'string'
cmd.exeだけで立ち往生しているので、Windowsの組み込みコマンドしかありません。残念ながら、このサーバーにCygwinやUnxUtilsなどのサードパーティツールをインストールできません。PowerShellをインストールできるかどうかさえわかりません。組み込みのcmd.exe(Windows 2003 Server)のみを使用する提案はありますか?
powershellなしでは難しいですが、なぜインストールできないのですか?
—
Chris Ballance、
システム管理者は、サーバーのアクセス許可をロックダウンしています。誰かがPowerShellの提案を持っている場合は、それらを捨ててください。PowerShellをインストールできるかどうかを確認します。
—
アンディホワイト
ところで、Linuxでは「find。| xargs grep -i string」と書く方がよいことがわかりました。違いは、findが非常に長いリストを返す場合、コマンドの最大長を超えてしまう可能性があり(私にはそれが起こった)、grepをまったく実行できないことです。xargsを使用すると、見つかったファイルごとにgrepが1回呼び出されます。
—
Nathan Fellman、
Gnu Grepを含むGrepの多くのバージョンでは、組み込みの再帰検索(gnu.org/software/grep/manual/…)が提供されているため、
—
Scott Centoni 2015年
grep -i 'string' -R .
@ NathanFellmanが示唆するように、コマンドが長すぎるという問題を回避できます。