私は数日間、多くのサイトで回答を探しました。どこかに答えがあるなら、あなたが私に指摘すればいいです。バッチファイル "A"をテキストファイル "B"を読み込み、バッチファイル "C"でコードを置き換えようとしています。最初に実行すると、これが実行され、バッチファイル "C"が実行されます。バッチファイル "C"が実行されている間、バッチファイル "A"は、ファイルの最後の変更部分の変更のためのテキストファイル "B"を見ています。変更が検出されたら、バッチファイル "C"を停止し、テキストファイル "B"をバッチファイル "C"に読み書きしてから、再度バッチファイル "C"を起動する必要があります。バッチファイルを削除する必要があります
変更が検出されるたびにバッチファイル "A"を実行すると、 "C"という新しいバッチファイルが実行されます。私はp.terminate()とp.kill()どちらも作品を使用しようとした
import subprocess
p = subprocess.Popen(r'start cmd /c C:\Users\james\Documents\FollowMeMap.bat', shell=True)
:
は、バッチファイル "C" 私が使用を開始します。誰もが助けてくれてありがとう。
のPython 3.4でテスト済み)プロセスに 'CMD/C "\ユーザーは、ジェームズ\ドキュメント\ \ FollowMeMap.bat CMD/C Cスタート" を= True'である。単に 'shell = True'を使わないでバッチファイルを実行するのはなぜですか?新しいコンソールウィンドウが必要な場合は、 'p = subprocess.Popen(r'C:¥Users¥james¥Documents¥FollowMeMap.bat '、creationflags = subprocess.CREATE_NEW_CONSOLE)'を使用します。このように、プロセス 'p'は" FollowMeMap.bat "を実行している実際のcmd.exeインスタンスです。それを' p.kill() 'することができます。 – eryksun