![VB 或批处理脚本获取远程 Windows CE 设备的 MAC 地址](https://linux22.com/image/1375165/VB%20%E6%88%96%E6%89%B9%E5%A4%84%E7%90%86%E8%84%9A%E6%9C%AC%E8%8E%B7%E5%8F%96%E8%BF%9C%E7%A8%8B%20Windows%20CE%20%E8%AE%BE%E5%A4%87%E7%9A%84%20MAC%20%E5%9C%B0%E5%9D%80.png)
我正在尝试用 vb 编写一个脚本,从 Windows 7 笔记本电脑打开到远程 Windows CE7 设备的 telnet 会话,以便将 ipconfig /all 的输出获取到文本文件,然后将该文本文件的内容附加到日志中。到目前为止,我只能通过运行 vb 脚本,然后运行 ftp 脚本从设备检索日志来做到这一点。我还没有弄清楚如何将该文件的内容复制到主日志文件中。
这是我的 vb 脚本:
Set OBJECT = CreateObject("WScript.Shell")
OBJECT.run"cmd"
WScript.Sleep 800
OBJECT.SendKeys"telnet ipaddress"
OBJECT.SendKeys("{Enter}")
WScript.Sleep 800
OBJECT.SendKeys"admin"
OBJECT.SendKeys("{Enter}")
WScript.Sleep 800
OBJECT.SendKeys"admin"
OBJECT.SendKeys("{Enter}")
WScript.Sleep 800
OBJECT.SendKeys"ipconfig /all >> somelog.log"
OBJECT.SendKeys("{Enter}")
WScript.Sleep 800
OBJECT.SendKeys"^]"
WScript.Sleep 800
OBJECT.SendKeys"quit"
OBJECT.SendKeys("{Enter}")
WScript.Sleep 800
OBJECT.SendKeys"exit"
OBJECT.SendKeys("{Enter}")
然后我运行一个运行 ftp 文件的批处理文件:
open 172.16.24.45
admin
admin
get "sendkeys.log"
close
我希望能够自动化整个过程,并用 1 个文件完成。任何帮助都将不胜感激。
答案1
以下命令应该可以满足您的要求。将它们复制并保存到 .bat 或 .cmd 文件中。请注意,任何以 包围的文件名<>
都应替换为系统中的实际文件名,请勿在脚本中输入<
或>
,否则将导致不良结果。
cscript.exe //nologo <vbsendkeys_script.vbs>
call <ftpget.bat>
copy <masterlog.log> + sendkey.log mastertemp.log
del <masterlog.log>
ren mastertemp.log <masterlog.log>
cscript.exe 是 Windows 的命令行脚本宿主。它将运行您指定的 .vbs 并在命令行上输出结果(如果有)。
Call
用于运行另一个批处理文件,然后将执行返回到原始(调用)批处理文件。如果不使用call
,则两个批处理文件都会在第二个批处理文件运行后终止。
其余命令将 sendkey.log 复制到主日志末尾并进行一些重命名和清理。