我正在使用VBScript拧一个脚本。此脚本需要在CMD中运行并连接到具有Linux OS的系统。我需要使用cut
命令来获取特定的数字。当我尝试通过脚本发送%
时,它会发送。
任何想法?
这是代码:
oShell.SendKeys "cat /tmp/dftemp1.txt | cut -d'%' -f1 > /tmp/dftemp2.txt"
当我在secureCRT中使用我的代码时,它正在工作。当我复制线并在CMD线中手动粘贴时,它也正常工作。尝试自动运行时,它无法正常工作。
答案 0 :(得分:3)
如有疑问,请阅读documentation。
SendKeys 方法使用一些字符作为字符的修饰符(而不是使用它们的面值)。这组特殊字符由括号,括号,大括号和:
组成加号
+
,
插入符^
,
百分号%
,
和波浪号~
通过将这些字符括在大括号“{}”中来发送这些字符。例如,要发送加号,请发送字符串参数“{+}”。
改变这个:
oShell.SendKeys "cat /tmp/dftemp1.txt | cut -d'%' -f1 > /tmp/dftemp2.txt"
进入这个:
oShell.SendKeys "cat /tmp/dftemp1.txt | cut -d'{%}' -f1 > /tmp/dftemp2.txt"
或,请使用plink
之类的内容(来自PuTTY suite),这样您就不需要首先使用SendKeys
。
plink user@host "cat /tmp/dftemp1.txt | cut -d'%' -f1 > /tmp/dftemp2.txt"