2014-11-28 3 views
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) 

у кого есть идеи?

+0

Что происходит, когда вы запускаете командный файл напрямую (без обертки VBScript)? –

+0

, тогда это работает, это странная вещь. Я просто не понимаю почему – Ceuse

+0

Vbs работает для меня с 'strAction =" cmd/C start "" "" "&" "" "& Wshshell.expandenvironmentstrings (strAction) &" "" "', но есть третья обратная косая черта в ' set LogDir = \\\ Backup ... ', и это нельзя терпеть при использовании в cmd в качестве UNC-пути (хотя' set' только хорош, переменная 'set' может содержать любую строку символов без ограничений) – JosefZ

ответ

0

Вызов int с CMD/C решил это. (strAction = "CMD/C C: \ makeBackup_test.cmd")

Смежные вопросы