Мне нужно сделать скрипт, который будет удалять папки и файлы (все вещи), но только старше 7 дней. У меня есть код, но он имеет проблему, когда имя пути длиннее 256 символов. Один из пользователей имеет много папок, длина имени которых равна 303 символам.
Приведенный ниже код работает в Windows 10, но имеет проблемы в Windows 2008R2 (.net 4.7.2) с \\?\....
Get-ChildItem -Path '\\?\c:\test\users' | ?{ $_.CreationTime -le $(Get-Date).AddDays(-7) } | Remove-Item -recurse -force
И это имеет проблему с длинным именем пути:
Get-ChildItem D:\foler\folder\file | ?{ $_.CreationTime -le $(Get-Date).AddDays(-7) } | Remove-Item -Force -Recurse
Get-ChildItem D:\foler\folder\file | ?{ $_.CreationTime -le $(Get-Date).AddDays(-7) } | Remove-Item -Force -Recurse
Также я пытаюсь с Робокопией. Так что подойдет любой скрипт на powershell, .bat или .vbs.