Рекурсивное переименование файлов с использованием PS тривиально (вариант в примере из Блог Майка Ормонда ):
dir *_t*.gif -recurse
| foreach { move-item -literal $_ $_.Name.Replace("_thumb[1]", "")}
Я пытаюсь рекурсивно переименовать структуру папок.
Сценарий использования: я хотел бы иметь возможность переименовать все Решение VS.NET (например, с Foo.Bar на Bar.Foo). Для этого есть несколько шагов:
В настоящее время я работаю над первым шагом в этом процессе.
Я нашел этот пост, в котором говорится о проблемах и предлагается решение, но не говорится о том, что это за решение.
Я все время натыкаюсь на стену рекурсии. Если я позволю PS обрабатывать рекурсию с помощью флага, родительская папка будет переименована раньше дочерних, и сценарий выдаст ошибку. Если я попытаюсь реализовать рекурсию сам, у меня заболеет голова и все пойдет ужасно неправильно - хоть убей, я не могу заставить вещи начинать свои переименования с хвоста дерева рекурсии.