Пакетный файл — передача переменной

#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 /? в командной строке информацию о ее использовании.