2015-10-02 61 views
-1

我必須創建一個vscript有點複雜,至少對我來說。如果有人能幫助,我會非常感謝你! :d有點複雜Vbs

這些都是腳本需要照顧的任務:

*-run this cmd file located on "C:\Program Files\Paradigm\Paradigm-15\Services\bin\cli\PG_epos_user_list.cmd" -pns_host localhost 

是在cmd生成的用戶列表,這樣,從這個CMD的輸出,我需要檢查,如果當前登錄帳戶名上市有(檢查是否匹配)*

- 如果它未列出,運行其他CMD - > 「C:\ Program Files文件\範式\範式-15 \ SERVICES \ BIN \ CLI \ PG_epos_user_create.cmd」 - pns_host localhost -epos_user -member_list

但在這種情況下,我們必須在該命令行上的每個「」上輸入記錄的userid。

然後,比較上的ini文件的內容,存儲在共享磁盤上,與位於C:\ProgramData\Paradigm\Paradigm-15\Applications\config\env\common\

1_epos_license_location & 1_epos_license_location.tcl 

上2個文件中的值獲得從部分中的許可值「[許可]」 value Stratimagic=**licensevalue** 和請確保與許可證信息匹配1_epos_license_location & 1_epos_license_location.tcl.

如果不匹配,則更新這兩個文件。 此外,檢查是否W磁盤映射,如果沒有,建議與msgbox

謝謝你們!,我到目前爲止(工作),所有的斜體部分,工作。

dim objshell 

    sub runCommand(strCommand) 
     Dim oShell 
     Set oShell = CreateObject("WScript.Shell") 
     oShell.Run strCommand, 0, TRUE 
    end sub 

Private Function File2Output(tempfile) 
     Set fso = CreateObject("Scripting.FileSystemObject") 
     Set txtStream = fso.OpenTextFile(tempfile, 1) 
     out = "" 
     out = txtStream.ReadAll 
     txtStream.Close 
     fso.DeleteFile tempfile 
     File2Output = out 
End Function 


call runCommand("%COMSPEC% /c ""C:\Program Files\Paradigm\Paradigm-15\Services\bin\cli\PG_epos_user_list.cmd"" -pns_host localhost > c:\log.txt") 

Set objNetwork = CreateObject("Wscript.Network") 

user = objNetwork 

cmdOut = File2Output("c:\log.txt") 
'WScript.echo cmdout 
'WScript.echo user 
'WScript.echo InStr(cmdOut, user) 
if InStr(cmdOut, user) > 0 Then 
       WScript.echo "Found" 
Else 
       WScript.echo "Not Found" 
End if 

在此先感謝! 問候

+2

到目前爲止你有什麼代碼?你試過什麼了? (做一步一步的解決方案) –

+0

你知道如何運行命令並直接輸入和輸出到文件。 –

回答

0
sub runCommand(strCommand) 
    Dim oShell 
    Set oShell = CreateObject("WScript.Shell") 
    objShell.Run strCommand, 0, TRUE 
end sub 

運行命令:

這將調用子和運行命令。該命令的最後一部分(> c:\ temp \ log.txt)實際上會將命令的結果轉儲到log.txt文件中,所以在執行後,您可以真正打開文件並解析結果,從而允許您可以決定如何繼續處理腳本。

call runCommand("%COMSPEC% /c C:\Program Files\Paradigm\Paradigm-15\Services\bin\cli\PG_epos_user_list.cmd > c:\temp\log.txt") 

然後,爲了獲得當前用戶:

Set objNetwork = CreateObject("Wscript.Network") 
Wscript.Echo "The current user is " & objNetwork.UserName 

**有關run方法還參考:https://msdn.microsoft.com/en-us/library/d5fk67ky(v=vs.84).aspx

希望這有助於。

+0

謝謝你們,我到目前爲止]: – Jefe