#batch-file
#пакетный файл
Вопрос:
У меня есть 2-строчная пакетную программу. Очень новичок в написании bat-файлов.
Это мой код,
C:UsersX1231AppDataLocalContinuumAnaconda3python.exe "\ABCDEA1Python Testing EnvironmentPython CodesUpdated.py"
cmd/k
Я хочу передать X1231 в качестве переменной внутри этого динамически. Если я открою командную строку и введу это echo %username%, это даст мне значение, в которое я должен его передать.
Например, я хочу что-то вроде этого —
set MyID = %username%
C:UsersMyIDAppDataLocalContinuumAnaconda3python.exe "\ABCDEA1Python Testing EnvironmentPython CodesUpdated.py"
cmd/k
Но у меня это не работает. Пожалуйста, помогите.
Я попытался в командной строке —
cmd /k
Комментарии:
1. Ссылки на переменные сопровождаются знаками процента — как вы уже делали с
%username%
. И есть более полезные предопределенные переменные. Итак:"%LocalAppData%ContinuumAnaconda3phyton.exe"
следует сделать.2. и хотя @Stephan дал вам то, что вам было нужно, одна из проблем в вашем коде — это пробелы, окружающие
=
в наборе. это должно бытьset "MyID=%username%"
иначе это создаст переменную с именем%MyID %
3. Что вы собираетесь делать с завершением
cmd /k
? Это откроет новый экземпляр cmd.exe (наследуя среду) в том же окне и оставьте его открытым.4. Поскольку приведенная выше строка выполняет скрипт, и как только он завершится, я хочу оставить командную строку открытой. Но, если у меня нет этой последней строки, она закрывает ее.
5. Вероятно, вам следует запустить свою
python
команду в качестве аргумента дляcmd.exe
then. Введитеcmd /?
в командной строке информацию о ее использовании.