хранение возвращенных значений из функций, присутствующих в exe-файле, используя скрипт bat - PullRequest
0 голосов
/ 14 октября 2011

Я пытаюсь вызвать функцию, присутствующую в saur.exe, используя bat.Это выглядит примерно так:

saur.exe readName

Когда я его выполняю, он возвращает строку "Saurabh".

Теперь, когда я хочу сохранить "saurabh" в переменной с именем name.

Итак, я делаю:

set name = saur.exe readName
echo .%name%

В этом случае он не выполняется.Это дает пробел перед командой эха.

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

По какой-то странной причине выполнение того, что вы хотите, требует некоторых неуклюжих обходных путей.Долгий путь - сохранить результаты команды в файле, затем прочитать файл в переменную и, наконец, удалить файл.Более короткий (и едва читаемый) способ:

for /f "delims=" %%a in ('saur.exe readName') do set name=%%a
echo %name%

: - (

1 голос
/ 14 октября 2011

В документации по некоторым командам SET будет показано, что вы можете назначать строки только переменным среды (http://www.computerhope.com/sethlp.htm).

. В приведенном выше примере вы фактически задали переменную среды с именем:

* 1006.*

И все же вы выводите переменную:

"name"

Лучшее решение, которое я могу найти, - это сделать что-то похожее на

saur.exe readName>tempFile
SET /p variableName=<tempFile
ECHO %variableName%

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...