こんにちは私はWScript.ShellとPSExecで提供されている出力を読むのに問題があります。私の目標は、PSExec.exeがテキストとして返すものを読み込めるようにすることで、InStrでいくつかの検証を実行することができます。VBScriptとPSExec
コードは次のようになります。
Const WshFinished = 1
Const WshFailed = 2
Dim cmdLine, strComputer
strComputer = "\\SomeComputer"
cmdLine = "psexec " & strComputer & " cmd /C " & """RD " & """%PROGRAMFILES%\APPFOLDER""" & " /S /Q | RD " & """%PROGRAMFILES%\COMMON FILES\APPFOLDER""" & " /S /Q | RD " & """%SYSTEMROOT%\temp\APPFOLDER""" & " /S /Q"""
Set WSH = WScript.CreateObject("WScript.Shell")
WSH.Exec(cmdLine)
Do While WSH.Status = 0
WScript.Sleep 100
Loop
Select Case WSH.Status
Case WshFinished
strOutput = WSH.StdOut.ReadAll
Case WshFailed
strOutput = WSH.StdErr.ReadAll
End Select
Wscript.Echo strOutput
If (InStr(strOutput, "validation text") > 0) Then
'Do Stuff
End IF
問題はstrOutput変数は常に空来て、私が使用してテキストの検証を行うことができないということである - (InStr関数(strOutput、「検証テキスト」)> 0の場合)
すべてのアイデア?
誰もいませんか?なにか提案を? – user6495763
参照:[ExitCodeプロパティ](https://msdn.microsoft.com/en-us/library/za76z6hh(v = vs.84).aspx)例を示しています(おそらく_poor_ですが、動作しています)。 – JosefZ