Чтение параметров командной строки в .bat из файла - PullRequest
0 голосов
/ 02 июня 2010

У меня есть файл build.bat, который использует% 1 внутри ... так что вы можете позвонить:

сборка 1.23

Я хотел, чтобы он считал параметр из отдельного файла, поэтому я попытался поместить «1.23» в version.txt и сделать:

build

Но это не работает. Разве не так работает трубопровод? Возможно ли то, что я хочу, и если да, то как?

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Команда FOR в DOS имеет форму, которая анализирует файлы и присваивает найденные токены переменным, которые затем можно использовать в качестве аргументов для других пакетных файлов. Предполагая, что version.txt содержит одну строку «1.23», этот пакетный файл откроет ее, назначит переменной значение 1.23, а затем вызовет исходный пакетный файл, передав значение переменной в качестве аргумента командной строки.

@echo off
for /f %%i in (version.txt) do call build.bat %%i

Если version.txt содержит более одной строки, build.bat вызывается один раз для каждой строки. Введите help for в командной строке DOS, чтобы увидеть, какие другие функции вы можете использовать.

0 голосов
/ 02 июня 2010

Я думаю, что было бы более разумно, если бы вы обрабатывали файл внутри пакетного файла при вероятности того, что version.txt отредактирован неправильно.

Вы должны изменить ваш скрипт для анализа файла, чтобы получить версию, если файл .bat выполняется как:

     build FILE version.txt
...