Я хотел бы запустить скрипт python, расположенный на удаленном компьютере, с аргументами командной строки.
Я использую команду Power Shell для выполнения командного файла
powershell.exe -Command "invoke-command -computername testmachinename -credential testcred -scriptblock {start-process c:\test\test.bat -ArgumentList "Arg1", "Arg2"}"
И test.bat выглядит как
echo %time% "Started" >> C:\test\Log.txt 2>&1
set arg1=%1
set arg2=%2
echo arg1 %arg1% >> C:\test\Log.txt 2>&1
echo arg2 %arg2% >> C:\test\Log.txt 2>&1
cd C:\Test\
start cmd.exe
start C:\Dev\Anaconda3\python.exe test.py >> C:\test\Log.txt 2>&1
Эхо и наборы работают нормально. Но когда дело доходит до выполнения cmd.exe или python.exe, он ничего не делает.
Когда я запускаю командный файл вручную из командной строки на удаленном компьютере, он работает нормально.
Я что-то упускаю?
Это всего лишь попытка фиктивного теста. Что, я думаю, объяснит проблему. Когда я запускаю командный файл вручную на удаленном компьютере, он открывает обе оболочки cmd и python. Но когда я запускаю его из powershell frkm другой mschine, все работает нормально, кроме запуска exe-части
попробуйте запустить команду python напрямую без start
Уже сделал, не работает.
Есть ли причина использовать командный файл для запуска Python, а не сценарий PowerShell?
start cmd.exe
почему?