Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

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

Новый участник


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

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


Условие такое:
Если пробелов в переменой больше или равно одному, тогда:
echo "Ошибка" & pause & exit

Отправлено: 12:14, 08-05-2017

 

Ветеран


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

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


Код: Выделить весь код
if "%sVar%" neq "%sVar: =%" (
	echo Ошибка
	pause
	exit /b 1
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:39, 08-05-2017 | #2



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

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

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

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


vngreez@vk, вариант скелета; в примере проверяется значение переменной %ProgramFiles% на наличие минимум одного пробела:

Код: Выделить весь код
echo %ProgramFiles%| find " " >nul
if not errorlevel 1 echo "Ошибка" & pause & exit
PS
Поправлено в соответствии с последовавшей репликой Iska

-------
Mikhail Zhilin


Последний раз редактировалось mwz, 08-05-2017 в 14:15.

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

Отправлено: 13:03, 08-05-2017 | #3


Ветеран


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

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


Еще вариант, показывающий заодно работу и пользу кавычек:
Код: Выделить весь код
@echo off
call :v %Programfiles%
pause& exit

:v
 if not "%~2"=="" echo Ошибка
exit /b
при запуске с параметром (1.bat %Programfiles%) достаточно
Код: Выделить весь код
if not "%~2"=="" echo Ошибка& pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:13, 08-05-2017 | #4

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

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


Цитата alpap:
показывающий заодно работу и пользу кавычек »
Скорее — пользу отсутствия кавычек там, где они обычно быть должны: именно это и позволяет вашей конструкции обнаружить пробел.

-------
Mikhail Zhilin

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

Отправлено: 17:40, 08-05-2017 | #5


Ветеран


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

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


mwz, позволяет обнаруживать даже там, где его нет. alpap, для решения поставленной задачи Ваш код в указанном виде не подходит. Ибо кроме пробелов в качестве разделителей могут выступать и иные символы. Иллюстрация:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sVar=Мама,Мыла;раму

call :v %sVar%
pause& exit

endlocal
exit /b 0

:v
echo [%1] [%2] [%3] [%4]

if not "%~2"=="" echo Ошибка
exit /b

— пробелов нет, а код ошибочно полагает, что есть.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:10, 08-05-2017 | #6


Ветеран


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

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


Iska,
да, позже уже сам понял что подход неправильный (например: %1переданный - aaa;bbb в выводе будет иметь два параметра aaa и bbb)
ничего, подобные ошибки тоже нужны на форуме для практики
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:57, 08-05-2017 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Проверка по переменной ware Скриптовые языки администрирования Windows 18 06-11-2019 01:01
CMD/BAT - Проверка переменной цикла for nanervax Скриптовые языки администрирования Windows 0 29-12-2015 12:54
2013 - [решено] Проверка значения переменной wBook corbis Microsoft Office (Word, Excel, Outlook и т.д.) 8 16-08-2015 03:17
CMD/BAT - [решено] проверка последнего символа переменной %%i icq99999999 Скриптовые языки администрирования Windows 4 12-11-2014 20:23
Проверка переменной Алексей Zn Вебмастеру 1 20-09-2013 14:41




 
Переход