У меня проблема с назначением переменных внутри цикла DOS-скрипта for. Он никогда не присваивает значение, оно всегда пустое. Ниже пример кода
@echo off
set ans=%1
SET STRING=%ans:"=%
echo Parsing the string "%STRING%":
for /f "tokens=1-2" %%a in ("%STRING%") do (
set Word1 =%%a
echo Word 1: %%a
echo Word 1: %Word1%
set Word2 =%%b
if %%b.==. (Set server =\\.\pipe\mssql$microsoft##ssee\sql\query ) else (Set server =%%b)
)
echo Server name "%server%"
sqlcmd -s %server%
значение %%a не присвоено переменной Word1. Но когда я повторяю %%a, он показывает правильное значение. Также в последнем пустом значении проверьте условие, переменная сервера никогда не устанавливается. Я очень запутался здесь. Кто-нибудь может мне помочь??
P.S: вводом для скрипта является любая строка из двух слов (например: a.bat "l dev-server")