アイデア実行.VBSは基本的に、どのような私のスクリプトが行うことはCをチェックしている
に何もしません。それを複製するには、基本的にそのフォルダを作成し、いくつかのtxtファイルをそこに置くことができます。次に、.vbsファイルを実行し、ここでは関係のないいくつかのrcloneコマンドで.batファイルを実行します。これは、.vbsファイルでrcloneコマンドを実行しているときにCMDウィンドウが開かないためです。
Pythonコード
import time, os, subprocess
while True:
print("Beginning checkup")
print("=================")
timestamp = time.strftime('%d_%m_%H_%M') # only underscores: no naming issues
the_dir = "C:/SOURCE"
for fname in os.listdir(the_dir):
if fname.lower().endswith(".txt"):
print("found " + fname)
time.sleep(0.1)
new_name = "{}-{}.txt".format(os.path.splitext(fname)[0], timestamp)
os.rename(os.path.join(the_dir, fname), os.path.join(the_dir, new_name))
time.sleep(0.5)
else:
subprocess.call(['cscript.exe', "copy.vbs"])
time.sleep(60)
VBScriptコード
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run Chr(34) & "copy.bat" & Chr(34), 0
Set WshShell = Nothing
subprocess.call()
を実行することになっているところPythonスクリプトのための唯一の重要な部分は、else
非常に最後を下回っています。 vbsファイル。スクリプトを実行すると、CMDの実行時に常に現れる最初の2行が表示されますが、何も表示されません。
どうすれば修正できますか?私は試しました:
subprocess.call("cscript copy.vbs")
subprocess.call("cmd /c copy.vbs")
同じ結果の両方で、何もしません。
誰でも知っていますか?
もしそれがcmdのウィンドウを開けなかったら、私はそれをします。 vbsファイルを置くのは、ユーザーが見ることができないようにすることです。それは私がやろうとしていることです。 – diatomym
あなたは正しいです。 .batファイルと.vbsファイルの全体のポイントは、ユーザーから見えないようにすることですが、Pythonから直接可能であるようです。洞察のおかげで、本当にそれについて考えていない! – diatomym