Показать полную графическую версию : [решено] Вывод напечатанного текста.
frost987
11-12-2019, 16:20
Здравствуйте.
Подскажите пожалуйста. Хочу сделать что бы набранный текст выводился следующей строкой. Не пойму что делаю не так.
set /p pam=Set number :
if "%pam%"=="" (
Set /A Result=pam
Echo !Result!
)
так у вас присвоение переменной идет по условию только когда как раз если ничего не введено, вероятно так надо:
set /p pam=Set number :
if "%pam%"=="" (echo:) else set /a Result=pam
Echo %Result%
pause
во всяком случае (согласно: set /? для ключа А) если ничего не вводить при запросе значением переменной Result будет 0
@echo off
set /p pam=Set number :
if "%pam%"=="" set /a Result=pam
Echo %Result%
pause
а если по задаче вам действительно надо вывести в команде if, то надо добавить: setlocal enabledelayedexpansion
@echo off
setlocal enabledelayedexpansion
set /p pam=Set number :
if "%pam%"=="" (
set /a Result=pam
Echo !Result!
)
pause
frost987, добавлю к сказанному коллегой alpap: для целей отладки целесообразно заключать выводимые значения, например, в скобки, a-la:
echo [%pam%]
…
echo [!Result!]
megaloman
11-12-2019, 18:55
Кипит мой разум возмущенный :)
Хочу сделать что бы набранный текст выводился следующей строкой »
Что такое набранный текст, это набор произвольных символов или число?
А где логика: если "%pam%"=="" то Rezult чему то присваивается (в данном случае ничему)
А чему равен Rezult когда иначе??
А как понять Set /A Result=pam
Если нужно получить 0, то так и надо писАть Set /A Result=0
А так можно с тем же успехом написать Set /A Result=pamоспоырповпофпы
Вот интересная конструкция: @Echo Off
cls
Set /A pam=2222
Set /p pam=Set number :
Echo %pam%
pause
Exit /B
И давайте на запрос нажмем Enter.
Имхо, нельзя полагаться на то, что pam пустой, не определён
Итак: давайте уточним задачу, что может быть при вводе и что должно получиться в результате при разных вариантах ввода:
- введены только цифры;
- введены произвольные символы;
- ничего не введено.
frost987
12-12-2019, 10:09
Всем спасибо за помощь. Разобрался.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.