Просто пытаюсь придумать способ переименовать некоторые подпапки, и мне нужна помощь.
Обычно, когда наши сотрудники пишут документацию для предложения, они создают папку с названием проекта. Когда они выиграют предложение и оно станет проектом, скопируйте папку предложения во вновь созданную папку проекта (которая находится на другом сетевом диске). См. Пример ниже:
-Сайт
--Проект
--- B100020.01 - Проект 1
---- B10020.001 - Первоначальное предложение
--- В100022.01 - Проект 2
---- B10022.001 - Исходное предложение
Я хотел бы систематически переименовывать папку предложений под папкой нового проекта в _Proposal.
например
-Сайт
--Проект
--- B100020.01 - Проект 1
----_Предложение
--- В100022.01 - Проект 2
----_Предложение
Проблема, с которой мы сталкиваемся, заключается в том, что имена папок предложения и проекта могут содержать более 100 символов, и у нас возникают проблемы с длиной файла на сервере.
Теперь я знаю, что существуют инструменты для пакетного переименования, но я не могу найти ничего, что могло бы смотреть на определенный уровень папки, переходить на следующий уровень и переименовывать.
Любые идеи?
Чтобы расширить мой комментарий Script it:
PowerShell:
# Be in ...\site\project
# Get a list of all the folders (B100020.01, B100020.02, ...)
# Then go into ech of those and get a list of all the folders (B10020.001 - Original Proposal...)
# Store them in a list called $props
$props = (gci | ?{$_.psiscontainer} | gci | ?{$_.psiscontainer} )
# Now go through every folder
# check if they have 'proposal' in the name, and if so rename them to '_proposal'
foreach ($foldr in $props) { if ($folder.Name.ToLower().Contains('proposal')) { Rename-Item -path $foldr.fullname -newname '_proposal' } }
(Предупреждение, функциональность не гарантируется, используйте только для идей).