4

再帰的なディレクトリ一覧をすばやく作成する方法を知っている人はいますか? 私は約10TBのSANを通過しようとしていますが、「get-childitem -include」の実行には数日かかります...数分に短縮する方法はないことはわかっていますが、おそらく時間を数分に短縮する方法があります時間は素晴らしいでしょう。PST ファイルなど、SAN 上の特定の種類のファイルを見つけるためにこれを使用するため、並べ替えることができるリストのみが必要です。ファイル プロパティは必要ありません。

HEREからコンパイルされたコードを使用する方法について、誰かが私を指摘できれば、私も良いはずです。

4

3 に答える 3

8

これが 1 日遅れて 1 ドル足りないことはわかっていますが、この目的で robocopy を使用すると、255 文字を超えるパスが一覧表示されます。

robocopy <SourceRoot> <DummyDestinationDir> /MIR /FP /NC /NS /NDL /NJH /NJS /LOG:<LogFilePath> /L

私はそれがかなり冗長であることを知っていますが、robocopyはPowerShellと比較して非常に高速ですが、cmdのディレクトリに対してどのようにスタックするかはわかりません. ">" を使用して標準出力をリダイレクトするか、上記のように /LOG: パラメータをサイトに配置できます。どちらが速いかをテストします。/TEE オプションを使用しないでください。私の経験では、コンソール出力によって robocopy が遅くなることに注意してください。また、出力ではファイル パスがインデントされますが、これはテキスト エディターで簡単に修正でき、先頭や末尾の空白を削除できます。

于 2015-04-04T13:17:25.677 に答える
3

Filter パラメーターを使用する拡張機能が 1 つだけの場合は、-Include よりもはるかに高速です。また、PowerShell 3 を使用することをお勧めします (get-childitem には新しい -file スイッチがあります)。UNC パスのリストのパフォーマンスが強化されたことを覚えている限り (基盤となる .net 4 サポートにより)。

別のオプションは、cmd ウィンドウから dir コマンドを使用することです。これは非常に高速です。

于 2013-04-14T11:34:04.783 に答える