良く知らないソフトの動作を探ったり、他の会社が作ったシステムを運用していたりすると、設定がどこにあるのか?とか、どこかにログを吐いてないか?とか探ることがよくある。
 そんなときに、今日更新されたファイルとか、3分以内に更新されたファイルとかを見つけられると便利だ。
という事で以下のような関数を作って使っている。
  
   | param([string]$Path = "C:\",
 $Day,
 $Minute,
 [switch]${??}
 )
 $comment = @'#####################################################
 指定されたパス配下で新規作成、更新があったファイルを取得する(MGet-RecentFile.ps1)
 param($Path = "C:\",
 $Day,
 $Minute,
 [switch]${??}
 )
 例:#今日更新があったファイル
 MGet-RecenFile.ps1 -Path "C:\Windows" -Day 0
 #昨日更新があったファイル
 MGet-RecenFile.ps1 -Path "C:\Windows" -Day 1
 #10分以内に更新があったファイル
 MGet-RecenFile.ps1 -Path "C:\Windows" -Min 10
 #####################################################'@
 Set-PSDebug -Strict if(${??}) {$comment;return}if($Day -eq $null -and $Minute -eq $null) {Write-Warning "Please specify a TimeSpan(Day or Minute)." ; return}
 $targetDate = Get-Dateif($Day -ne $null){
 $targetDate = $targetDate.AddDays(-1 * $Day)
 $targetDate = $targetDate.Date
 }
 else{
 $targetDate = $targetDate.AddMinutes(-1 * $Minute)
 }
 Get-ChildItem -Path $Path -Recurse -ea SilentlyContinue -Force | ?{$_.LastWriteTime -ge $targetDate} | select fullname
 
 | 
  
 
0 件のコメント:
コメントを投稿