2017-01-31 8 views
0

TestNGテストを起動するVBScriptがあります。テストを呼び出す前に、テスト対象のアプリケーションの.jarファイルをダウンロードする必要があります。ここでは、コードの主要な部分である:VBScriptファイルは実行されなくても自動的に削除されます

cscript.exe "run-monitoring.vbs" "test-suite\monitoring-all-tests.xml" 21 

このファイル自体を削除:

'Variables - input args 
Dim objArgs 
Set objArgs = wscript.Arguments 
finalHour = CInt(objArgs(1)) 

Set oShell = WScript.CreateObject("WSCript.shell") 
Set UAC = CreateObject("Shell.Application") 

'save script stating date 
startDay = Day(Now) 
startHour = Hour(Now) 

downloadLink = "http://....ru:.../.../" 
savePath = "C:\monitoring\build-under-test\" 

WScript.Echo "Download jar files from '" & downloadLink & "...'" 

'DownloadFile downloadLink & "some.jar", savePath & "some.jar" 
Dim xHttp: Set xHttp = CreateObject("Microsoft.XMLHTTP") 
Dim bStrm: Set bStrm = CreateObject("ADODB.Stream") 
xHttp.Open "GET", downloadLink & "account.jar", False 
xHttp.Send 

With bStrm 
    .Type = 1 '//binary 
    .Open 
    .Write xHttp.ResponseBody 
    .SaveToFile savePath & "account.jar", 1 '//overwrite 
    .Close 
End With 
xHttp = Nothing 
bStrm = Nothing 

Do 
    WScript.Echo "Executing: run-suite.bat " & objArgs(0) & "  - at " & Now 
    WScript.Echo " finalHour = " & finalHour 
    'With waiting of last command execution 
    oShell.Run "run-suite.bat " & objArgs(0) & " " & objArgs(1) & " false true > C:\monitoring\results\logfiles\" & logBatName, 1, True 

    currentHour = Hour(Now) 
    WScript.Echo " checking: currentHour < finalHour :: " & currentHour & " < " & finalHour 
Loop While currentHour < finalHour 

問題は、私は、このファイルを実行したときにということです。その後、私はファイルを再作成した後、それは実行コマンドなしで再びそれ自身を削除しました。だから私はそれを再作成し、ファイルの削除を強制する行を見つけるためにコメント行を始めました。それは:

.SaveToFile savePath & "account.jar", 1 '//overwrite 

コメントを削除すると、ファイル自体が削除されます。 PCを再起動しても

なぜそうですか?なぜ私はそれを実行しないときにファイルが再実行されますか?

+1

私にとって、Windows Defenderによって「TrojanDownloader.HTML/Adodb.gen!A」として検出され、検疫に移動しました。ウイルス対策ログを確認してください。 –

+0

* \ * facepalm \ **。 –

答えて

0

同じリソース(.jarファイル)

.SaveToFile savePath & "account.jar", 1 '//overwrite 

と(このLIBを使用するJavaテスト)で動作する2行のコードがあります。これらの行のいずれかをコメント

oShell.Run "run-suite.bat " & objArgs(0) & " " & objArgs(1) & " false true > C:\monitoring\results\logfiles\" & logBatName, 1, True 

は、自己削除を修正します。別のVBScriptファイルdownload-jar.vbsに.jarファイルの保存操作を移動して、スクリプトでそれを呼び出す:だから私は使用した溶液は非常に簡単です(リリース資源保存した後)

oShell.run "cscript.exe download-jar.vbs " & downloadJarsLink, 1, True 

は多分別の方法があるが、私は、高速かつ安定した必要解決策は、ここにあります。

関連する問題