Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Замена символов [ и ] на ( и ) в имени папки

Ответить
Настройки темы
CMD/BAT - [решено] Замена символов [ и ] на ( и ) в имени папки

Аватара для DenchikK

Старожил


Сообщения: 288
Благодарности: 40

Профиль | Отправить PM | Цитировать


Очень часто есть нужда замены квадратных скобок на круглые в именах папок.
Сейчас я пользую Тотал Коммандер: выделение нужных каталогов, Ctrl M, Поиск и Замена, вбиваю [ и (, потом ещё раз выделяю, Ctrl M, Поиск и Замена, вбиваю ] и ).
Очень сильно напрягает уже, хочется как то автоматизировать сей процесс. Хоть через cmd/bat, хоть через ps1, хоть через vbs.
Целый день гуглю, но получается так делать либо для имён файлов, либо для имен папок не содержащих символы []().
Пытался как-то экранировать символы, конвертировал в юникод - но видимо делаю не так, как надо.
Прошу помощи коллективного разума!

Отправлено: 22:04, 01-07-2023

 

Аватара для NickM

Ветеран


Contributor


Сообщения: 4635
Благодарности: 1115

Профиль | Отправить PM | Цитировать


Что-нибудь типа такого?
Код: Выделить весь код
powershell -c "Get-ChildItem * -recurse -directory | Rename-Item -NewName { $_.Name.Replace('[','(').Replace(']',')') }"
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:48, 01-07-2023 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для DenchikK

Старожил


Сообщения: 288
Благодарности: 40

Профиль | Отправить PM | Цитировать


Цитата NickM:
Что-нибудь типа такого? »
Великолепно! Спасибо!

Отправлено: 00:00, 02-07-2023 | #3


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


NickM, только надо подкорректировать:
Код: Выделить весь код
Get-ChildItem * -recurse -directory -force|? Name -match '\[|\]'|sort fullname -d| Rename-Item -NewName { $_.Name.Replace('[','(').Replace(']',')') } -force
иначе:
1. со вложенными каталогами могут возникнуть проблемы (останутся не переименованными), в процессе переименования.
Поясню:
Если переименовывается родительский каталог, то уже дочерние, стоящие в очереди, переименованы не будут, т.к. путь уже не будет существовать. В этом случае поможет многократный запуск... или сортировка
2. как минимум, скрытые не будут переименованы...
3. без проверки на наличие заменяемых символов, будут вызываться исключения.

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 02-07-2023 в 12:13.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:06, 02-07-2023 | #4


Аватара для DenchikK

Старожил


Сообщения: 288
Благодарности: 40

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
только надо подкорректировать: »
У меня, почему-то, так не работает. А команда NickM срабатывает.

Отправлено: 20:39, 02-07-2023 | #5


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1235
Благодарности: 518

Профиль | Отправить PM | Цитировать


Цитата DenchikK:
У меня, почему-то, так не работает. »
Наверное, powershell надо обновить (а лучше сразу powershell Core использовать), тогда будет работать...

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:53, 03-07-2023 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Замена символов [ и ] на ( и ) в имени папки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - (cmd|bat) Замена одних символов на другие Ваня_98 Программирование и базы данных 6 18-06-2015 13:28
CMD/BAT - [решено] замена символов в bat на символы, полученные по формуле Alexander_88 Скриптовые языки администрирования Windows 5 19-08-2014 18:23
Разное - замена в тексте одних символов на другие! Terry_0 Программирование и базы данных 6 17-02-2014 08:58
замена в тексте одних символов на другие! Terry_0 Тест-форум 0 16-02-2014 12:53
Любой язык - [решено] Замена символов на другие в огромном файле Megatron13 Скриптовые языки администрирования Windows 6 01-10-2012 06:03




 
Переход