|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Замена лишних пробелов в имени директорий |
|
Любой язык - Замена лишних пробелов в имени директорий
|
Новый участник Сообщения: 1 |
Помогите пожалуйста написать скрипт для замены лишних пробелов в именах директорий, для примера в папке C:\Temp
Их может быть местами 2 и более между словами. Папок порядка 30000 |
|
Отправлено: 16:12, 18-10-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Одного уровня или искать и во вложенных?
|
Отправлено: 16:59, 18-10-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:01, 18-10-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Kazun, Get-ChildItem сначала выберет всё, и только затем передаст объекты по конвейеру? Если так, то не случится ли так, что родительский каталог сменит имя, а дочерние не будут обработаны зараз?
Update: так и есть. |
Отправлено: 17:19, 18-10-2016 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Скрипт удаляет все пробелы в наименованиях папок (спасибо замечанию Iska-я не до конца осознал проблему)
|
|
------- Последний раз редактировалось megaloman, 18-10-2016 в 21:46. Отправлено: 19:10, 18-10-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Только с заменой Вы переборщили ![]() |
|
Отправлено: 20:06, 18-10-2016 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Этот скрипт оставляет в наименованиях папок не более одного пробела. Каюсь за недостаточно внимательное отношение к условию задачи
@Echo Off Set "InDir=С:\Temp" SetLocal EnableExtensions EnableDelayedExpansion For /F "usebackq delims=" %%D In (`Dir "%InDir%" /B /S /A:D 2^>nul^|Sort /R`) Do ( Set "DirName=%%~nxD" Call :Replace Ren "%%D" "!DirName!" ) GoTo :Eof :Replace Set "iDirName=!DirName!" Set "DirName=!DirName: = !" If Not "!iDirName!"=="!DirName!" GoTo :Replace GoTo :Eof |
------- Последний раз редактировалось megaloman, 18-10-2016 в 22:02. Отправлено: 21:53, 18-10-2016 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Замена в имени файлов кириллицы на латиницу | VedunO | Скриптовые языки администрирования Windows | 21 | 26-06-2024 15:45 | |
CMD/BAT - Замена пробелов на %20 в текстовом файле | Strato | Скриптовые языки администрирования Windows | 4 | 11-03-2014 13:16 | |
Перенос текста без пробелов | xNiSSaNx | Вебмастеру | 1 | 02-05-2013 00:21 | |
VBA - Удаление лишних пробелов Word | NoBrain | Программирование и базы данных | 1 | 13-08-2012 22:12 | |
[решено] Удаление пробелов | AzazeLHAck | AutoIt | 3 | 03-05-2010 01:49 |
|