пакетная отправка не распознает и не запускает вторую (следующую) команду

#python #windows #batch-file #anaconda

#python #Windows #пакетный файл #anaconda

Вопрос:

Мой пакетный файл не распознает и не запускает вторую команду после того, как я изменил командную строку Windows на приглашение anaconda. Он изменяется на среду anconda, но не запускает файл python.

Я пытался использовать amp; и amp;amp;, но это не работает. Я также пытался использовать call перед каждой командой, но это тоже не работает

вот командный файл

 %windir%System32cmd.exe "/K" C:Usersrexon.carvalhoAppDataLocalContinuumanaconda3Scriptsactivate.bat C:Usersrexon.carvalhoAppDataLocalContinuumanaconda3 

python C:Usersrexon.carvalhoJypyter_scriptspjm_loadcron_test.py

pause
 

вот результат

как показано в командной строке

 C:Usersrexon.carvalhoDesktop>C:WindowsSystem32cmd.exe "/K" C:Usersrexon.carvalhoAppDataLocalContinuumanaconda3Scriptsactivate.bat C:Usersrexon.carvalhoAppDataLocalContinuumanaconda3

(base) C:Usersrexon.carvalhoDesktop>
 

Комментарии:

1. Вы пробовали открывать cmd.exe окно, вводить cmd /? и читать информацию об использовании? Если да, то мне было бы интересно узнать, где вы это нашли "/K" . Я бы предложил вместо этого использовать /K "your command" . Вы также можете заметить, что при входе set в то же окно вы можете сократить C:Usersrexon.carvalhoAppDataLocal с %LocalAppData% помощью .

2. /K поскольку переключение на CMD.EXE приводит к тому, что подоболочка остается открытой после выполнения команды, переданной в качестве параметра. Вы уверены, что это то, что вы хотите? В большинстве случаев, когда пакетный файл вызывается другим, /C вместо этого требуется переключатель.

3. Ваша python команда должна выполняться в том же окне, которое вы открыли в предыдущей строке? или вы должны были Call "%LocalAppData%Continuumanaconda3Scriptsactivate.bat" "%LocalAppData%Continuumanaconda3" ?

4.Вероятно, вам не нужно использовать Call для Python команды. 1. Call "%LocalAppData%Continuumanaconda3Scriptsactivate.bat" "%LocalAppData%Continuumanaconda3" , 2. python "%UserProfile%Jypyter_scriptspjm_loadcron_test.py" , 3 .. Pause

5. Выполняя управление передачей пакетного файла из одного пакета в другой, первый пакетный файл завершается. Вы используете call , чтобы сказать, что хотите дождаться возвращения другого пакета. Использование call с exe-файлом не делает ничего другого, поэтому оно не нужно и нарушает принцип простоты.