Как я могу передать параметр, который я прочитал из файла в пакетном файле для вызова программы в том же пакетном файле? - PullRequest
1 голос
/ 08 августа 2011

В моей пакетной программе можно успешно прочитать файл, подобный этому:

for /f %%a in (crc.txt) do (
@echo CRC read in from file is %%a now
)

, где %%a выводится как 0xCD0134DE

Теперь я хочу передать %%a в вызов программы C в том же пакетном файле:

../myprogram %%a

Проблема в том, что myprogram интерпретирует аргумент %%a как '%a' (Я знаю это, когда распечатываю аргумент, как только моя программа запускается. Я попытался

../myprogram %a         //program thinks the argument is 'a'
../myprogram a          //program thinks the argument is 'a'

т.е. я не получаю значение 0xCD0134DE как переданное внутрь.

1 Ответ

1 голос
/ 08 августа 2011

Попробуйте это:

for /f %%a in (crc.txt) do (
    @echo CRC read in from file is %%a now
    ../myprogram %%a
)

%%a находится только в области действия для цикла for. Если вам нужно использовать значение в сценарии, установите локальную переменную среды для хранения значения:

for /f %%a in (crc.txt) do (
    set CRC=%%a
)
@echo CRC read in from file is %CRC% now
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...