2017-03-15 16 views
0

Pythonスクリプトからバッチスクリプトに引数を送信しようとしていますが、バッチファイルは失敗し続けます。Pythonスクリプトからバッチスクリプトへの引数の送信

これはPythonスクリプトで書かれているものです。

cond = 'a' 
sp3 = subprocess.Popen([os.path.join(lua_caller_pth[:indx], 'lua_caller1.bat'), cond]) 

cond = 'b' 
sp4 = subprocess.Popen([os.path.join(lua_caller_pth[:indx], 'lua_caller1.bat'), cond]) 

そして、これは、バッチスクリプトです:スクリプト

%cond% 

if %cond% == "a" (
    %CYGWINPATH%\bash -l -c "cd $START_DIR \ && cd .. \ && cd Debug \ && ./iv4_console.exe ../embedded/LUA/analysis/verbose-udp-toxml.lua &>../Object_Detection_Test_Script/xmllog1 \ && exit; bash"; 
) 
if %cond% == "b" (
    %CYGWINPATH%\bash -l -c "cd $START_DIR \ && cd .. \ && cd Debug \ && ./iv4_console.exe ../embedded/LUA/analysis/verbose-udp-toxml.lua &>../Object_Detection_Test_Script/xmllog2 \ && exit; bash"; 
) 
+0

引数として文字列 'a'を渡すだけです。バッチスクリプトは%cond%とどのように関連づけていますか?おそらく、subprocess.call()を使う方が良いでしょう。 –

+0

バッチでは、 '%cond 'ではなく最初のコマンドライン引数を受け取るために'%1'を使用する必要があります。 – LotPings

答えて

0

環境varibaleを評価あなたのpython progによって設定されていないcond RAM。

環境を評価する代わりに、バッチからコマンドライン引数を評価する必要があります。詳細については、Get list of passed arguments in Windows batch script (.bat)を参照してください。

関連する問題