バックアップされたファイルを削除するスクリプトをまとめましたが、アーカイブビット属性が混乱していると思います。新しく作成されるファイルは、「」属性またはアーカイブビットを持っているようpowershellバックアップファイル/アーカイブビット/ウィンドウ2008 R2
$path = "D:\logs\"
$files = Get-ChildItem -Path $path -Recurse
$attribute = [io.fileattributes]::archive #archive bit
$date = get-date -format d # strip time out of date, date needed for Filename
$date = $date.replace('/','.') # strip out forward slashes and replac with . in date
$filename = "\ArchiveLog"+$date+".txt" # Filename for log file.
$location = $path+$filename
cd D:\logs
Foreach($file in $files)
{
If((Get-ItemProperty -Path $file.fullname).attributes -band $attribute)
{
add-content -path "$path" "$file.DirectoryName has been deleted"
Remove-Item $file -force
}
}
しかし、私はこれをテストする場合、このスクリプトは、先ほど作成されているブランドの新しいファイルを削除します。
私は、彼らは通常、ファイルはビットをアーカイブ確実にラインが設定されている他のサンプルスクリプトを見てきました:
attribute = [io.fileattributes]::archive #archive bit
If((Get-ItemProperty -Path $file.fullname).attributes -band $attribute)
{
log file name
Remove file
}
をだからこれは、Windows 2008 R2に何か新しいものであれば...私が思っていましたアーカイブビット "A"が作成時に自動的に設定されている場合、または私が見つけた他のスクリプトが間違っているとします。
ジェフリー、はい、ありがとう、それはずっときれいです。しかし、「アーカイブ」属性が設定されている場合は、そのファイルがバックアップされているか、またはバックアップが必要であることを意味します。それでも検索すると、私はこの情報をすばやく見つけることができると思っていましたが、私はMicrosoftのWebサイトでこれを見つけるのが難しいです。 –
@ user1178826アーカイブ属性の状態は、ファイルがバックアップされているかどうかを示します。ファイルが作成または変更されると、アーカイブビットが設定され、ファイルがバックアップされるとアーカイブビットがクリアされます。 –
これをクリアしていただきありがとうございます、私はいくつかのファイルをテストし、これを確認することができました(ごめんなさい。 –