ネットワークの場所を検索する Powershell スクリプトを作成しています。ファイルが 2011 年または 2012 年に作成された場合は、ファイル名と、作成されたすべての 2011/12 ファイルの合計をログに書き込みます。
ファイル作成の日付と時刻を変換し、それを日付範囲と比較しようとすると、例外が発生します。
<#Checks one network location for files from 2011.
gets the name of that file and adds to the count for 2011, then writes it to a log.
Repeats for 2012.#>
New-Item c:\users\logs\yearLog.txt -type file -force
$path = "\\path"
$log = "c:\users\log"
$date2011 = "2011"
$date2012 = "2012"
write-progress -activity "Compiling Data" -status "Progress:"
$x = 0
"$date2011 files" | add-content $log
Get-Childitem -Path $path -Recurse | Where-Object {$_.LastWriteTime -gt (12/31/2010) -AND $_LastWriteTime -lt (01/01/2012) |
ForEach {
$filename = $_.fullname
$x++
"$filename" | add-content $movelog
}
"$date2011 total files = $x" | add-content $log
$x = 0
"$date2012 files" | add-content $log
Get-Childitem -Path $path -Recurse | Where-Object {$_.LastWriteTime -gt (12/31/2011) -AND $_LastWriteTime -lt (01/01/2013) |
ForEach {
$filename = $_.fullname
$x++
"$filename" | add-content $log
}
"$date2012 total files = $x" | add-content $log
}
}