Назад | Перейти на главную страницу

Переименовать подкаталоги в Windows 2008 R2

Просто пытаюсь придумать способ переименовать некоторые подпапки, и мне нужна помощь.

Обычно, когда наши сотрудники пишут документацию для предложения, они создают папку с названием проекта. Когда они выиграют предложение и оно станет проектом, скопируйте папку предложения во вновь созданную папку проекта (которая находится на другом сетевом диске). См. Пример ниже:

-Сайт
--Проект
--- 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' } }

(Предупреждение, функциональность не гарантируется, используйте только для идей).