30 lines
1.3 KiB
PowerShell
30 lines
1.3 KiB
PowerShell
|
|
# Set the maximum allowed age of Revit local files
|
|
$FileAllowedAge = (Get-Date).AddMonths(-1)
|
|
|
|
# Build all Revit local paths
|
|
$RevitLocalPaths = @()
|
|
ForEach ( $userProfile in (Get-ChildItem -Path "${Env:SystemDrive}\Users" | Where-Object { $_.PSIsContainer }) ) {
|
|
$profilePath = $userProfile.FullName
|
|
If ( Test-Path "${profilePath}\Documents\Revit Locals" ) { $RevitLocalPaths += ,@("${profilePath}\Documents\Revit Locals") }
|
|
If ( Test-Path "${profilePath}\Documents" ) { $RevitLocalPaths += ,@("${profilePath}\Documents") }
|
|
}
|
|
|
|
ForEach ( $path in $RevitLocalPaths ) {
|
|
$RevitFiles = Get-ChildItem -Path "${path}\*.*" -Filter '*.rvt' | Where-Object {$_.LastWriteTime -lt $FileAllowedAge}
|
|
If ( $RevitFiles ) {
|
|
ForEach ($revitfile in $RevitFiles) {
|
|
|
|
$parentDir = $revitfile.DirectoryName
|
|
$baseName = $revitfile.BaseName
|
|
$BackupDir = "${parentDir}\${basename}_backup"
|
|
|
|
# Only remove Revit local files that have worksharing enabled
|
|
If ( (Test-Path "${revitfile}") -and (Test-Path "${BackupDir}")) {
|
|
Write-Output "Deleting ""${revitfile}"" and backup directory ""${BackupDir}"""
|
|
Remove-Item "${revitfile}" -Force -ErrorAction SilentlyContinue
|
|
Remove-Item "${BackupDir}" -Recurse -ErrorAction SilentlyContinue
|
|
}
|
|
}
|
|
}
|
|
} |