2路错误(Excel VBScript)

2路错误(Excel VBScript) 搜索搜索

短信& MMS Technical Forum » NowSMS支持-SMS问题(Product 支持 Only) » 归档到2018年4月13日 » 2-WAY ERROR (Excel VBScript) « Previous|| 下一页»
作者 信息
查拉·图梅洛(Chala Tumelo)
新成员
用户名:Tumelo

职位编号:1
注册时间:01-2013
发表于2015年6月27日星期六-08:10 pm:  

嗨,我有麻烦...网关无法从Windows Scripting Host中成功读取数据(instead replying "命令未完成。系统错误执行相关命令" to the sender's phone)。由于我是Windows脚本的新手,请帮助我解决以下设置问题:

1.我收到的短信有前缀"hello" which must
2:执行脚本"c:\Docs\calendar.vbs"

从这一点来看,"calendar.vbs"能够从Excel文件中检索日历项,并成功地将它们回显到Windows脚本宿主消息框。正是在这一点上,NOWSMS并未读取ECHO进行向发件人的出站传输。

我认为问题出在"command to execute"我正在使用的sytnax ..."c:\ 视窗 \ 系统32 \ cscript.exe / Nologo C:\ 文件 \ calendar.vbs"。我应该进行哪些更改才能使其正常工作。

请注意,当我跑步时"calendar.vbs" on its own (outside NowSMS)它成功检索日历数据,并将其显示在Windows脚本宿主消息框中。请帮忙。
德斯 - NowSMSSupport
董事会管理员
用户名:Desosms

邮编:5340
注册时间:08-2008
发表于2015年6月28日星期日-01:10 am:  

你好

看起来不错...只需将/ Nologo更改为// Nologo

I assume that if you open a 命令提示符窗口 and type the following command, it writes the expected text to the screen...

c:\windows\system32\cscript.exe // Nologo C:\Docs\calendar.vbs

错误"命令未完成。系统错误执行相关命令" basically means c:\windows\system32\cscript.exe找不到,所以可能路径错误或有错字?

启用S​​MSDEBUG.LOG,并检查日志中NowSMS尝试运行的命令是否正确。

例如,我创建了一个简单的f:\temp\echo.vbs脚本,仅回显相同的文本。

 
on error resume next

设置Args = WScript.Arguments
对于I = 0到Args.Count-1
if (I > 0) Then
LogTxt = LogTxt & " "
万一
LogTxt = LogTxt & 精氨酸(I)
下一页
Set 精氨酸 = nothing

Wscript.Echo "Echo " & LogTxt



我定义了2向命令:

c:\windows\system32\cscript.exe // Nologo f:\temp\echo.vbs @@FULLSMS@@

这是我发送消息时在SMSDEBUG.LOG中显示的内容:

21:43:19:515 [6] ThreadProcessInboundSMS:处理558F5137.in ...
21:43:19:515 [6] GetProgramToExecute:找到2路命令前缀匹配*
21:43:19:515 [6] GetProgramToExecute:到目前为止,2路命令前缀的最佳匹配*
\windows\system32\cscript.exe // Nologo f:\temp\echo.vbs @@FULLSMS@@
\windows\system32\cscript.exe // Nologo f:\temp\echo.vbs测试消息
21:43:19:516 [6] ThreadProcessInboundSMS:执行c:\windows\system32\cscript.exe // Nologo f:\temp\echo.vbs测试消息


您在SMSDEBUG.LOG中看到了什么?希望这是Windows目录位于其他位置或简单的错字的问题。

-
德斯
NowSMSSupport
查拉·图梅洛(Chala Tumelo)
新成员
用户名:Tumelo

职位编号:2
注册时间:01-2013
发表于2015年6月28日星期日-03:08 pm:  

嗨Des。感谢您的答复。我已经按照您的建议采取了行动,附件是调试日志显示的内容。我还在末尾添加了实际的vbs脚本,以供您查看正在发生的情况-以防脚本本身有问题。


application / vnd.openxmlformats-officedocument.wordprocessingml.documentsmsdebug.log详细信息
DebugLog.docx (157.5千)
德斯 - NowSMSSupport
董事会管理员
用户名:Desosms

邮编:5342
注册时间:08-2008
发表于2015年6月28日星期日-08:50 pm:  

你好

"命令响应为空,将不发送回复" is progress.

但是如果c:\ 视窗 \ 系统32 \ cscript.exe // Nologo C:\ 文件 \ calendar.vbs没有't显示响应,这与NowSMS看到空白响应是一致的。

如果在命令提示符下运行c:\ 视窗 \ 系统32 \ wscript.exe C:\ 文件 \ calendar.vbs,该怎么办?

脚本.exe displays Echo responses as a Windows pop-up, while 脚本.exe writes to the console.

If you can get the command to work and display results with 脚本.exe, it will work with NowSMS.

我从您的文档中注意到了一件事...您的工作结果来自CM1Calendar.vbs,非工作结果来自calendar.vbs

c:\ 视窗 \ 系统32 \ cscript.exe // Nologo C:\ 文件 \ CM1calendar.vbs会发生什么?

-
德斯
NowSMSSupport
查拉·图梅洛(Chala Tumelo)
新成员
用户名:Tumelo

职位编号:3
注册时间:01-2013
发表于2015年6月29日星期一-上午12:13:  

您好Des,感谢您的细心观察。其实是'wscript'随即在弹出的窗口中响应。'cscript'只是从一个黑屏开始,很快就消失了,什么也没做。我不知道下一步该怎么做才能通过'cscript'.
德斯 - NowSMSSupport
董事会管理员
用户名:Desosms

邮编:5343
注册时间:08-2008
发表于2015年6月29日星期一-下午12:50:  

嗨,查拉,

When you do the test with 脚本, are you doing it from a 命令提示符窗口?

If not, then you will not see the output, because Windows will open a 命令提示符窗口 and then close it immediately when done.

脚本和cscript的结果应该相同,唯一的区别是wscript.exe将Echo响应显示为Windows弹出窗口,而cscript.exe则写入控制台。要测试cscript,最好在已经打开的控制台中尝试(命令提示符窗口).

If 脚本 writes the results to the console, this is a format that NowSMScan capture to use as response to a 2-way command.

-
德斯
NowSMSSupport
Bryce Norwood-NowSMS支持
董事会管理员
用户名:Bryce

邮编:8118
注册时间:10-2002
发表于2015年7月27日星期一-04:41 pm:  

嗨,查拉,

我正在与我们的团队讨论最近的支持查询,'我不确定您是否曾解决此问题。

德斯 is very correct that you need to test and verify the VBScript from a command line window with 脚本.exe. This should display the same results as the pop-up window when using 脚本.exe.

但是,一旦解决了这个问题,您可能会遇到另一个问题。

就我而言,使用将接收到的消息写入Excel电子表格的VBScript进行测试时,我始终遇到以下错误,但仅当VBS作为2向命令运行时:


德斯 - NowSMSSupport
董事会管理员
用户名:Desosms

邮编:5382
注册时间:08-2008
发表于2015年7月28日星期二-12:36 pm:  

跟进...

我从未见过布莱斯提到的错误。

原因是此行:

on error resume next  


该语句禁止显示错误消息。在测试时使用该语句可能不是一个好主意。

-
德斯
NowSMSSupport
查拉·图梅洛(Chala Tumelo)
新成员
用户名:Tumelo

职位编号:9
注册时间:01-2013
发表于2016年6月11日星期六-上午05:35:  

嗨布莱斯和德斯

我在上面还需要更多。在下面的代码中"CmdLine & 精氨酸(I)"是整个短信...我想...

设置Args = WScript.Arguments
对于I = 0到Args.Count-1
if (I > 0) Then
CmdLine= CmdLine& " "
万一
CmdLine= CmdLine& 精氨酸(I)
下一页
Set 精氨酸 = nothing

现在...使用vbScript我想提取电话号码(possibly by using "dim phonenumber"然后.... phonenumber =拆分(CmdLine)(0)")并使用它来验证发件人是否已注册以从2向获取他们想要的信息。

由于某些原因,我无法从CmdLine中删除电话号码。我怎样才能做到这一点?我的目标是:
1:将电话号码从收到的短信中分离出来:
2:打开一个Excel工作簿"phone adrs.xlsx":
3:检查第3列(“C:C”)这是注册号码列表:
4:如果号码在列表中
发件人得到答复
其他:
发件人收到消息“您的电话未在此列表中列出”
End if.
我遇到的麻烦是从传入的SMS中获取电话号码并使用它进行检查。我该怎么办?我也希望能删除前四个字符,+***传入电话号码中的“”。
德斯 - NowSMSSupport
董事会管理员
用户名:Desosms

邮编:5680
注册时间:08-2008
发表于2016年6月20日星期一-07:16 pm:  

嗨,查拉,

更改2向命令,将发送方作为第一个参数:

c:\windows\system32\cscript.exe // Nologo f:\temp\echo.vbs @@SENDER@@ @@FULLSMS@@

精氨酸(0) will be the sender

然后将0更改为1,在其中将其余的Args解析为文本:

设置Args = WScript.Arguments
对于I = 1到Args.Count-1
if (I > 1) Then
CmdLine= CmdLine& " "
万一
CmdLine= CmdLine& 精氨酸(I)
下一页
Set 精氨酸 = nothing


-
德斯
NowSMSSupport

登录 登录/注册 登出 登出 搜索 最近30天 主题 主题