Цитата dbillika:
Как сказать переменной, что она: x="мама мыла раму", чтобы она имела значение: мама мыла раму без кавычек и пробелов, когда подставляется в любое место в коде? Но если она имеет значение без кавычек, то оператор if его забракует: if x=мама мыла раму - будет ошибкой. »
|
вот разные варианты, нельзя сказать что среди них есть правильные и неправильные, для каждой задачи может быть по-разному, но вот общепринятые и логичные и работающие практически для любого случая есть. А в этом коде сработают только те в которых в условии ТОЧНО совпадут левая и правая части:
Код:
@echo off
set "x1=мама мыла раму"
set x2="мама мыла раму"
set x3=мама мыла раму
set "x4="мама мыла раму""
::---------------------------------
echo set "x1=мама мыла раму"
echo set x2="мама мыла раму"
echo set x3=мама мыла раму
echo set "x4="мама мыла раму""
echo.
call :#1 "%x1%" "%x2%" "%x3%" "%x4%"
call :#2 "%x1%" "%x2%" "%x3%" "%x4%"
call :#3 "%x1%" "%x2%" "%x3%" "%x4%"
call :#4 "%x1%" "%x2%" "%x3%" "%x4%"
echo -------------------------------------------
pause>nul& exit
:#1
echo -------------------------------------------
echo if "%x1%"=="%~1"
echo if "%x2%"=="%~1"
echo if "%x3%"=="%~1"
echo if "%x4%"=="%~1"
exit /b
:#2
echo -------------------------------------------
echo if "%x1%"=="%1"
echo if "%x2%"=="%1"
echo if "%x3%"=="%1"
echo if "%x4%"=="%1"
exit /b
:#3
echo -------------------------------------------
echo if %x1%==%~1
echo if %x2%==%~1
echo if %x3%==%~1
echo if %x4%==%~1
exit /b
:#4
echo -------------------------------------------
echo if %x1%==%1
echo if %x2%==%1
echo if %x3%==%1
echo if %x4%==%1
exit /b