|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как убрать из названий файлов и папок восклицательный знак? |
|
CMD/BAT - [решено] Как убрать из названий файлов и папок восклицательный знак?
|
Старожил Сообщения: 158 |
Профиль | Отправить PM | Цитировать Проблема такая, есть папка(-и) в названии которой(-ых) присутствует восклицательный знак, в этих(-ой) папке (-ах) естественно находятся файлы в названиях которых присуствует восклицательный знак. Хотелось как-нибудь разрулить эту тему т.е. После работы скрипта восклицательный знак должен отсуствовать как в названиях папок также и в названиях файлов которые храняться в этих папках, кстати до работы скрипта в папках храняться файлы в названии которых есть восклицательный знак и файлы название которых неподпорченно этим знаком (!).
Не знаю как подступится к этому скрипту, однако знаю что восклицательный знак можно экранировать, толи так ^!^ , толи так ^! . Подскажите в каком направлении двигать мысль, или скрипт подкинте, буду очень благодарен!!! |
|
Отправлено: 02:08, 05-08-2010 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Oleg48,
@Echo Off Set Source=C:\Source! Set RenameSource=%Source:!=% For /F "Tokens=*" %%A In ("%RenameSource%") Do Ren "%Source%" "%%~nA" 2>nul&&^ For /F "Tokens=*" %%A In ('Dir /B /A-D "%RenameSource%"') Do Call :Func "%%A" GoTo :EOF :Func Set FileName=%~1 Set FileName=%FileName:!=% Ren "%RenameSource%\%~1" "%FileName%" 2>nul |
Отправлено: 13:48, 05-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 158
|
Профиль | Отправить PM | Цитировать El Sanchez, спасибо за такое быстрое решение, к этому принципу я тоже подгребал -
Остальные строки мне очень интересны, есть куда рости. Только некоторые вещи недопонял : %%~nA и вот эти выводы 2>nul&&^ и 2>nul . Если не влом подскажите простым языком, пожалуйста непеняйте на help. А так полный респект и уважуха за ответ
p.s. Я заметил что Вы любите использовать в своих скриптах For /F , надо будет тоже попробывать. |
Отправлено: 14:32, 05-08-2010 | #3 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать Oleg48,
Цитата Oleg48:
2>nul - "2" дескриптор ошибки отработки команды, в данном случае перенапрявляется в nul, т.е. в никуда && - символ условной обработки, разрешает запуск команды, стоящую за собой, только если команда, стоящая перед ним была выполнена успешно (противоположность ||) |
|
Отправлено: 14:45, 05-08-2010 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
восклицательный знак после иистоляции! | geeg | Непонятные проблемы с Железом | 9 | 13-07-2017 07:32 | |
Разное - Как убрать восклицательный знак с значка подлючения к сети? | Fokus | Microsoft Windows 7 | 9 | 13-06-2010 22:30 | |
Драйвер - [решено] Восклицательный знак на "Другие устройства -> IVT_Virtual_0000" | kigerman | Microsoft Windows 7 | 2 | 11-02-2010 14:46 | |
HDD - Восклицательный знак | Wbares | Накопители (SSD, HDD, USB Flash) | 1 | 19-08-2009 14:19 | |
Интерфейс - Как вернуть отображение названий файлов и папок по старинке, в проводнике? | The_Crystal | Microsoft Windows 7 | 12 | 13-05-2009 09:14 |
|