0
im exierience странная проблема.вызов CMD с VBS зависает при echo
im пытается вызвать cmd с помощью сценария vbs, и он висит в крайнем странном месте.
Херес oExecShell.StdOut.ReadLine моего ЦМД, который висит:
set targetDir=\\Backupstorage\Servername$\2014-11-28_12-00
if not exist \\Backupstorage\Servername$\2014-11-28_12-00 (mkdir \\Backupstorage\Servername$\2014-11-28_12-00)
Rem Works Fine
set LogDir=\\\Backupstorage\Servername$\2014-11-28_12-00\Logs
Rem Does not work for some strange Reason
echo "here"
"here"
, а затем он висит, линия, которая убивает/необходимо выполнить следующие действия:
echo %LogDir%
echo "we have the problem"
кто-нибудь имеет?
Heres некоторые из кода, который запускает ЦМД:
strAction = "C:\makeBackup_test.cmd"
Dim WshShell : Set WshShell = CreateObject("WScript.Shell")
strAction = Wshshell.expandenvironmentstrings(strAction)
Dim oExecShell : Set oExecShell = WshShell.Exec(strAction)
Do While oExecShell.Status = 0
WScript.Sleep 100
Loop
writelog("... ExitCode is: " & oExecShell.ExitCode)
LastShellOutput = ""
Do While not(oExecShell.StdOut.AtEndOfStream)
LastShellOutput = LastShellOutput & oExecShell.StdOut.ReadLine & vbCrlf
Loop
writelog("StdOut: " & LastShellOutput)
у кого есть идеи?
Что происходит, когда вы запускаете командный файл напрямую (без обертки VBScript)? –
, тогда это работает, это странная вещь. Я просто не понимаю почему – Ceuse
Vbs работает для меня с 'strAction =" cmd/C start "" "" "&" "" "& Wshshell.expandenvironmentstrings (strAction) &" "" "', но есть третья обратная косая черта в ' set LogDir = \\\ Backup ... ', и это нельзя терпеть при использовании в cmd в качестве UNC-пути (хотя' set' только хорош, переменная 'set' может содержать любую строку символов без ограничений) – JosefZ