У меня есть сценарий PowerShell, где мне нужно рекурсивно копировать в папку, заменяя все файлы в ней:
Copy-Item -Path $source -Destination $destination -Recurse -Force -Verbose
Поскольку некоторые файлы в папке назначения имеют путь, превышающий 260 символов, я получаю исключение PathTooLongException.
Я читал об этих возможных решениях:
- Использовать робокопию
- Я скорее использую чистый PowerShell
- Включить длинные пути в реестре и групповой политике
- требует, чтобы пользователь перезапустил свою консоль, и я также предпочитаю не изменять реестр пользователя.
- Используйте префикс
\\?\
для путей
Как я уже сказал, я предпочитаю не использовать первые два, третье решение (\\?\
) должно подойти для меня, но файлы на самом деле не копируются.
Когда он выполняется, он завершается немедленно, и выходные данные команды не генерируются. В результате файлы в месте назначения не заменяются файлами из источника.
Есть идеи?