0
Powershell V4.0を実行しています。以下は、与えられた日付範囲のfilenameの日付スタンプで1000個のファイルを検索し、すべての一致する文字列を検索するスクリプトです。ただし、Get-ChildItemコマンドレットは非常に遅いです。私はPowershellを初めて使う人です。これをより効率的にする方法はありますか?多分バッチで読む?Get-ChildItem - Slow
######################################################
#Date ranges and filename
$startdate = [datetime]'01/26/2017'
$enddate = [datetime] '02/05/2017'
$Filename = "DACNBA0124IDT030"
######################################################
#Progress
######################################################
$array =
do {
$startdate.ToString('yyyy_MM_dd*')
$startdate = $startdate.AddDays(1)
}
until ($startdate -gt [datetime] $enddate)
$files = $array | foreach-object {"G:\Live Engineering\AsRuns\Test\$_*"}
write-host $files
$Matches = get-childitem $files -recurse -force -OutBuffer 20000 | select- string $Filename | Where -Verbose {$_.line -notlike '*.mxf'}
$Matches.Matches.Count > "C:\Users\user\Desktop\report app\Log.txt"
*直接または '-exclude-文字列を選択を探すためにパターンを指定します.MXF 'get-child-itemに直接ファイルがあります。とにかく、あなたが処理するファイルの例、そのサイズ、それがネットワークドライブであるかどうかは分かります。 – wOxxOm
ネットワークに接続されたストレージ上の何十万ものファイルを適度に検索するには、 'cmd/c dir/b/s ... 'に切り替えなければなりませんでした。私のネットワーク上では一桁の速さでした。 –