私はそれが欲しいと思うように次のコードを実行していますが、7未満のファイルのみを報告するロジックを追加して進めたい日。私はあなたがこのようなファイルを含むフォルダを持っている想像して、単に起動するには...PowerShell - 最後に保存されたファイル - 最後の7日間に絞り込みたい
Remove-Item ("c:\temp\output.txt")
$Date = Get-Date
Write-Output $Date | Out-file 'c:\temp\output.txt' -Append
$word = New-Object -Com Excel.Application
$word.Visible = $false #to prevent the document you open to show
$filename = "Test User"
$filelocation = "\\server\Storage\Applications\Employee Sheets\Test.xlsm"
$doc = $word.Workbooks.Open($filelocation, $false, $true) # open in read only mode
Write-Host ‘Currently processing’ $filename ‘/ 1 out of 45’
$binding = "System.Reflection.BindingFlags" -as [type]
Foreach($property in $doc.BuiltInDocumentProperties) {
try {
$pn = [System.__ComObject].invokemember("name",$binding::GetProperty,$null,$property,$null)
if ($pn -eq "Last author") {
$lastSavedBy = [System.__ComObject].invokemember("value",$binding::GetProperty,$null,$property,$null)
}
if ($pn -eq "Last Save Time") {
$lastSavedTime = [System.__ComObject].invokemember("value",$binding::GetProperty,$null,$property,$null)
}
}
catch { }
}
$doc.Close($false)
$word.Quit()
$1 = "Last Saved By: " + $lastSavedBy
$2 = "Last Saved Date: " + $lastSavedTime
Write-Output "$filename $1 $2" | Out-file 'c:\temp\output.txt' -Append
Invoke-Item ('c:\temp\output.txt')
それは多くの私を助けて、昨日のお時間をいただき、ありがとうございます。しかし、私は、Excelファイルを開くための正しい配置に巻き込まれています。私はそれらをすべて開くようにしてコードを実行しないでください。そうしないと、ファイルを開くことができず、残りのファイルをその1つのファイルで処理します。以下のコードを参照してください。あなたの助けをもう一度ありがとう! –
ああ、私は問題を見る。 ForEach($ lastWeekFilesの$ file)行を5行目まで移動します。 $ LastWeekFilesを開始する行のすぐ後にする必要があります。 – FoxDeploy