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

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

Ответить
Настройки темы
CMD/BAT - Помогите найти цифру в строке bat файла

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


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

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


Здравствуйте.
Есть задание "Вводится строка произвольного текста и цифра. Удвоить заданную цифру".
Подскажите как найти цифру в строке. Ввод, как я понял осуществляется set /p, а вот на цифре я вошел в ступор.
Заранее, спасибо.

Отправлено: 19:25, 24-03-2012

 

Старожил


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

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


vitalijch, этот код обработает входную строку и выделит из нее все цифры, которые после и выведет. Если вывод не нужен - уберите строку с Set в конце. К найденным цифрам можно обращаться по переменной Result_1, Result_2 и т.д, общее число найденных цифр содержится в переменной i.
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion


Set IncomingString=sdFKEflksdf4591askj fbasdfk02342ifdsf65 17 ghrFVEF


Set Charset=1234567890
Set i=0
:ParseString
Set /A i+=1&Set Num_%i%=&Set NumDetect=0
If Not "%IncomingString%"=="" Call :Parser
Set Result_!i!=!Num_%i%!
If Not "%IncomingString%"=="" GoTo ParseString
GoTo ShowResult
:Parser
Echo %Charset%|Find "%IncomingString:~,1%">nul&&(
	Set NumDetect=1
	Set Num_%i%=!Num_%i%!%IncomingString:~,1%
)||(
	If %NumDetect%==1 Exit /B
)
Set IncomingString=%IncomingString:~1%
If "%IncomingString%"=="" Exit /B
GoTo Parser
:ShowResult
For /F "tokens=2 delims==" %%N In ('Set Result_') Do (Echo %%N)
pause
А вот полностью готовый скрипт, отвечающий вашим нуждам - прием строки и удвоение числа в ней. Если чисел нету, или больше одного - выдает ошибку.
Показать скрипт
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
Set /P IncomingString=  Введите строку: 
Set Charset=1234567890
Set i=0
:ParseString
Set /A i+=1&Set Num_%i%=&Set NumDetect=0
If Not "%IncomingString%"=="" Call :Parser
Set Result_!i!=!Num_%i%!
If Not "%IncomingString%"=="" GoTo ParseString
GoTo ShowResult
:Parser
Echo %Charset%|Find "%IncomingString:~,1%">nul&&(
	Set NumDetect=1
	Set Num_%i%=!Num_%i%!%IncomingString:~,1%
)||(
	If %NumDetect%==1 Exit /B
)
Set IncomingString=%IncomingString:~1%
If "%IncomingString%"=="" Exit /B
GoTo Parser
:ShowResult
If "%Result_1%"=="" (
	Echo Вы не ввели ни одного числа
) Else (
	If "%Result_2%"==""1 (
		Echo  В введённой строке больше одной цифры, проверьте правильность ввода
	) Else  (
		Set /A Result=Result_1*2
		Echo  Удвоенное число: !Result!
	)
)
pause

Последний раз редактировалось Anonymоus, 24-03-2012 в 20:49.

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

Отправлено: 20:19, 24-03-2012 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Помогите с написанием bat файла для проверки запущенного процесса. Stranger404 Скриптовые языки администрирования Windows 17 17-08-2020 22:50
[решено] Помогите с написанием *.bat файла. systeman Хочу все знать 14 02-07-2015 15:37
CMD/BAT - [решено] Запуск bat-файла от имени админа.Как сделать каталог этого bat-файла текущим?? axmed0207 Скриптовые языки администрирования Windows 1 19-01-2012 06:14
Помогите найти драйвер для skylink модема anydata adu bat 100 Slava-yun Мобильные ОС, смартфоны и планшеты 1 05-08-2011 22:18
CMD/BAT - С помощью bat-ника найти и заменить текст в файле на текст из другого файла Nun-Nun Скриптовые языки администрирования Windows 1 08-03-2011 15:25




 
Переход