Я пытаюсь передать аргумент в командный файл
Мой файл содержит только следующий код:
set branch=%1
echo %branch%
вызов файла с аргументом Foo
выходы
F
Кажется, я не могу найти, где синтаксис ошибся.
Хотел бы немного помочь
По запросу из комментариев:
Полный, точный скрипт:
ECHO "Starting unit tests in get_unittests_results.bat"
@rem SET sainity_test_dir="C:\code\EPMD\%1\Templates\Testing\Main"
@rem SET testing_dir="C:\code\EPMD\%1\Templates\Testing"
@rem SET report_outcome_dir="%CD%\report_outcome"
@rem SET sainity_file_name="sanity.py"
@rem SET dev_epd_python_path="C:\DEV_EPD_Prerequisite\Anaconda2\python.exe"
@rem cd %sainity_test_dir%
@rem %dev_epd_python_path% %sainity_file_name%
ECHO %1
set branch=%1
ECHO %branch%
ECHO "Starting unit tests in get_unittests_results.bat"
SET dev_epd_python_path="C:\DEV_EPD_Prerequisite\Anaconda2\python.exe"
SET sainity_test_file_path="..\..\EPMD\%1\Templates\Testing\Main\sanity.py"
ECHO %dev_epd_python_path% %sainity_test_file_path%
%dev_epd_python_path% %sainity_test_file_path%
вызывается скриптом Python:
def run_batch(path, params):
p = Popen(path.format(*params), cwd='.')
stdout, stderr = p.communicate()
if stderr is not None:
print stderr
def create_unity_build(args):
branch_name = args.branch
run_batch(build_unity_script_path, [branch_name])
args.branch
содержит строку длиной более 1 (проверено).
Пакет получает только первую букву этой строки (изменяется, когда я меняю эту первую букву).