をCMDに解釈しているので、私は、robocopyをコマンドの後にCMDに「K」と「V」の値を挿入したいコードのpythonの窓は、forループからの値が、ここではコマンド
from subprocess import Popen, PIPE
saveerr = sys.stderr
fsock = open('error.log', 'w')
sys.stderr = sys.stdout = fsock
D = {}
D['\\\\aucb-net-01\\d$'] = '\\\\nasaudc01\\remote_site_sync\\aucb-net-01'
D['\\\\aupw-file-01\\e$'] = '\\\\nasaudc01\\remote_site_sync\\aupw-file-01'
for k,v in sorted(D.items()):
print (k,":",v)
cmd = 'robocopy {} {} /E /MIR /W:2 /R:1'.format(k,v)
p = Popen(cmd, stdout=PIPE, bufsize=1, universal_newlines=True)
for line in p.stdout:
print(line)
ですループのためには、辞書Dに記載されたすべての送信元および宛先のためのRobocopyを実行する= {}
私はまたたいというのerror.logファイルのrobocopyを出力ログの障害のためのスクリプトチェック
Total Copied Skipped Mismatch FAILED Extras
Dirs : 2575 0 2575 0 0 0
Files : 6039 0 6039 0 2 0
Bytes : 1.547 g 0 1.547 g 0 0 0
Times : 0:00:53 0:00:00 0:00:00 0:00:53
Ended : Tue Aug 30 04:32:48 2016
2つのファイルが失敗した場合、スクリプトはメールをいくつかのメールアドレスに送信する必要があります。
cmd = 'robocopy {} {} /E /MIR /W:2 /R:1'.format(k, v)
または、Pythonの3.6で:それは次のようになります行うにはPythonで
'k'と' v'の値を 'cmd'文字列に挿入する方法を尋ねていますか? – FamousJameous
"Robocopy {} {}/E ..."。フォーマット(k、v) –
はいJameous、私はkとvの値をrobocopyコマンドに挿入したい – Ajsh