|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - проверки строки на пробелы |
|
CMD/BAT - проверки строки на пробелы
|
Новый участник Сообщения: 39 |
Имеется строка %%a
Если строка не пустая (или содержит пробелы и табуляцию), то выполняем действие (скажем :call test), иначе пропускаем. Мой код заключается в построчном чтении файла (for /f), и удаление в указанной строке: файла или папки Но если присутствует пробелы между строками, то программа ведет себя не так как надо. |
|
Отправлено: 12:11, 02-09-2017 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать vngreez@vk, Неплохо бы посмотреть, как Вы считываете строки из файла и сам файл. ИМХО, при считывании в FOR в большинстве случаев пустые строки пропускаются.
|
------- Отправлено: 16:36, 02-09-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 39
|
Профиль | Сайт | Отправить PM | Цитировать for /F "tokens=*" %%c in ("!port!\delete.list") do ( if not "%%c"=="" ( if not "%%c"==" " ( for /f "usebackq tokens=*" %%a in ("!port!\delete.list") do ( if exist %work%\rom\%%a ( del "%work%\rom\%%a" /q /s >nul 2>&1 rd "%work%\rom\%%a" /q /s >nul 2>&1 call :log "[-] %%a" ) else ( call :log "[?] not found: %%a" ) ) ) ) ) |
Отправлено: 10:17, 03-09-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать vngreez@vk, а где:
Цитата megaloman:
|
|
Отправлено: 10:30, 03-09-2017 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать vngreez@vk, ИМХО, применять здесь вложенный For не имеет смысла, так как
в данном контексте выполняется всегда и далее %%с нигде не используется. Предоставьте файл, иначе трудно понять что не так.
Что получается, если вместо всей приведенной конструкции для отладки оставить строку Кстати, в имени файла из переменной %%a содержатся пробелы? Тогда надо кавычки: Почему-то ниже Вы их используете. |
|
------- Последний раз редактировалось megaloman, 03-09-2017 в 11:07. Отправлено: 10:53, 03-09-2017 | #5 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Так можно определить какая строка строка начинается с пробела а какая пустая
@echo off <file.txt (for /f "tokens=1* delims=[]" %%a in ('find /v /n ""') do @call :s "%%b") pause& exit :s echo "%~1"|>nul findstr /rc:"\<[ ]" && ( echo Строка начинается с пробела ) || ( if not "%~1"=="" (<nul set /p="%~1"& echo:) else (echo Строка пустая) ) exit /b |
Последний раз редактировалось alpap, 03-09-2017 в 21:57. Отправлено: 21:37, 03-09-2017 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Как вставить пробелы в строки | vision-d | Скриптовые языки администрирования Windows | 17 | 21-03-2014 14:48 | |
CMD/BAT - [решено] bat файл для проверки запущенной программы, в имени есть пробелы | aculeus | Скриптовые языки администрирования Windows | 2 | 05-06-2013 17:19 | |
Прочее - [решено] Как заменить пробелы в названиях файлов на подчеркивания? | Naiad | Общий по Linux | 2 | 13-02-2009 19:40 | |
[решено] Работа из командной строки | Убрать все пробелы в текстовом файле | Greyman | Хочу все знать | 11 | 17-06-2007 22:44 | |
Нужен макрос на VB чтобы в Ворде удалял лишние пробелы | Leon71 | Программирование и базы данных | 2 | 28-07-2003 02:26 |
|