Мне нужно запустить команду в пакетном файле DOS, который содержит двойной двоеточие и установить выход в переменную. Нравится этимКак избежать двойной двоеточия в пакетном файле DOS?
set /a TDR = C:\InCharge\CONSOLE\smarts\bin\dmctl -s SSA-SAM invoke SM_System::SM-System nameToAddr %SM_OBJ_InstanceName%
Я продолжаю получать «Отсутствующий оператор». Я предполагаю, что это связано с этими двойными двоеточиями. Как мне избежать этого? Я попробовал слэш, но это не сработало. Я попытался поместить всю команду в двойные кавычки, и это тоже не сработало.
Я могу выполнить команду самостоятельно, то есть без «set/tDR», и выход правильный. Но мне нужно использовать этот вывод в качестве значения переменной, следовательно, «установить/а»
Нормальный выход для dmctl это
{ "10.28.112.74" }
Я использую dmctl, чтобы получить адрес IP-для имени хоста. Я понял, как только я получил вывод, я мог бы снять скобки и цитаты, но я не понял, как получить выход.
Заранее спасибо.
Согласно http://ss64.com/nt/set.html, вы можете использовать/a для арифметических функций ... –
Просьба предоставить образец вывода вашей команды 'dmctl'. Ваша проблема просто разрешима с помощью цикла 'for/F'. – JosefZ