2011-09-14 179 views
0

我想讓VBSCript通過「配置調用gcid splitArray(x)delete」數組中的每個元素。相反,即時獲取「配置調用gcid splitArray(x)」,直到最後一個將作爲「配置調用gcid splitArray(x)刪除」回滾的元素。
我是一些什麼新的腳本,在此先感謝。添加額外的文本到數組元素的末尾

<head> 
<title>Test</title> 
<HTA:APPLICATION ID="Test" 
APPLICATIONNAME="Test" 
SCROLL="yes" 
SINGLEINSTANCE="yes" 
> 
</head> 
<script language="vbscript"> 


Sub ClearCalls 
    serv2 = editor.serv1.value 
    call2 = editor.call1.value 
    splitArray = Split(call2, chr(10), -1, 0) 
    set Shell = CreateObject("WScript.Shell") 
shell.run "cmd.exe" 
    Delay 1 
Shell.SendKeys "telnet -f c:\results.txt " & serv2 & ".com" 
Shell.SendKeys "{ENTER}" 
    Delay 1 
Shell.SendKeys "username" 
Shell.SendKeys "{ENTER}" 
Shell.SendKeys "password" 
Shell.SendKeys "{ENTER}" 
Shell.SendKeys "admin debugsonus" 
Shell.SendKeys "{ENTER}" 
For x = 0 To UBound(splitArray) 
    splitArray1 = "configure call gcid " & splitArray(x) & " delete" 
Shell.SendKeys splitArray1 
next 
Shell.SendKeys "{ENTER}" 
    Delay 1 
Shell.SendKeys "exit" 
Shell.SendKeys "{ENTER}" 
    Delay 2 
Shell.SendKeys "{ENTER}" 
Shell.SendKeys "exit" 
Shell.SendKeys "{ENTER}" 
readfile 
End Sub 

Sub Delay(seconds) 
    Dim wshShell 
    Set wshShell = CreateObject("WScript.Shell") 
    wshShell.Run "ping -n " & (seconds + 1) & " 127.0.0.1", 0, True 
    Set wshShell = Nothing 
End Sub 

</script> 
<script language="JScript" type="text/jscript"> 
<!-- 
function readFile() 
{ 
    var fso, fileHandle, contents, resultvar; 
    fso = new ActiveXObject("Scripting.FileSystemObject"); 
    fileHandle = fso.OpenTextFile(document.editor.resultvar.value, 1); 
    contents = fileHandle.ReadAll(); 
    if (contents) 
    document.all("results").value = contents; 
    fileHandle.close(); 
} 
//--> 
</script> 
<body> 
<form name="editor"> 
<table> 
    <tr> 
<td align="right">Server Name:</td> 
<td><input type="text" size="18" id="serv1"></td> 
    </tr> 
    <tr> 
<td align="right" valign="top">Calls:</td> 
<td><textarea size="18" id="call1" rows="10"></textarea></td> 
    </tr> 
<td valign="bottom" align="left" colspan="2"> 
    <button type="submit" name="run_button" onClick="ClearCalls">Clear Calls</button> 
</td> 
    <tr> 
<td align="right" valign="top">Results:</td> 
<td><textarea cols="80" rows="20" name="results" id="results" rows="10"></textarea></td> 
    </tr> 
</table> 
<td><input type="hidden" name="resultvar" value="c:\results.txt"></td> 
</body> 

如果我在textarea的CALL1使用這些變量
ASD
ASD
ASD
ASD
ASD
ASD
傷心
我會得到的結果textarea的以下
配置呼叫gcid asd
錯誤:不完整的命令。預期之一:刪除
deleteconfigure呼叫GCID ASD
錯誤:無效的命令名稱 「deleteconfigure」
deleteconfigure呼叫GCID ASD 錯誤:無效的命令名稱 「deleteconfigure」
deleteconfigure呼叫GCID ASD
錯誤:無效的命令名稱「 deleteconfigure」
deleteconfigure呼叫GCID ASD
錯誤:無效的命令名稱 「deleteconfigure」
deleteconfigure呼叫GCID ASD
錯誤:無效的命令名稱 「deleteconfigure」
deleteconfigure呼叫GCID傷心刪除
錯誤:無效的命令名稱「deleteconfigure」

回答

2

我覺得你call2包含vbCrLf S的替代vbLf要拆分的。證據:

>> a = Split(Join(Array("a", "b", "c"), vbCrLf), vbLf) 
>> For Each s In a 
>>  WScript.Echo "xxxx" & s & "yyyy" 
>> Next 
>> 
yyyya 
yyyyb 
xxxxcyyyy 
+0

+1這是一個很好的猜測! –

+0

感謝,我沒有意識到它是添加vbCrLf到最後我改變了2行,它的工作原理 splitArray =拆分(call2,vbCrLf,-1,0 Shell.SendKeys「configure call gcid」&splitArray(x)&「delete 「&」{ENTER}「 –

相關問題