# skasowanie plików i folderow starszych niz 30 dni $date = (Get-Date).ToString('dd_MM_yyyy') # tworzenie folderu - nie wywala bledu nawet jesli istnieje New-Item -ItemType Directory -Force -Path "E:\BACKUP_VIRTUALKI\" Get-ChildItem –Path "E:\BACKUP_VIRTUALKI" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item -Recurse -Force New-Item -ItemType Directory -Path "E:\BACKUP_VIRTUALKI\$date" Export-VM -NAME "SERVER01" -Path "E:\BACKUP_VIRTUALKI\$date\" Export-VM -NAME "SERVER02" -Path "E:\BACKUP_VIRTUALKI\$date\" Export-VM -NAME "SERVER03" -Path "E:\BACKUP_VIRTUALKI\$date\" Export-VM -NAME "SERVER04" -Path "E:\BACKUP_VIRTUALKI\$date\"
Powershell
Powershell: directory name must be less than 248 characters
Może się przyda
Udało mi się obejść, prymitywnie, ale udało się, ograniczenie powershella
Mianowicie to: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters
Zamiast: Remove-Item na końcu robię Move-Item do innego folderu i nie wywala błędu długich nazw
A poleceniem dosowe rmdir nie ma problemu z kasowaniem długich ścieżek, plików
[sourcecode language=”powershell”]
Cmd /C "mkdir R:\DO_SKASOWANIA"
Get-ChildItem -Path "R:\BACKUP" | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-5)} | Move-Item -Destination "R:\DO_SKASOWANIA"
Cmd /C "rmdir /S /Q R:\DO_SKASOWANIA"[/sourcecode]