良く知らないソフトの動作を探ったり、他の会社が作ったシステムを運用していたりすると、設定がどこにあるのか?とか、どこかにログを吐いてないか?とか探ることがよくある。
そんなときに、今日更新されたファイルとか、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-Date if($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 件のコメント:
コメントを投稿