是否可以从ruby脚本调用vbscript?基本上,我正在我的ruby脚本中创建一个带有随机名称的临时文件夹,我想调用vbscript并传递此文件夹的名称以执行下一个操作.
我需要从HTML文档中的所有图像标记中提取src元素.
因此,输入是一个HTML页面,输出将是指向图像的URL列表:ex ... http://www.google.com/intl/en_ALL/images/logo.gif
以下是我到目前为止所提出的:
<img\s+src=""(http://.*?)
Run Code Online (Sandbox Code Playgroud)
这不适用于src不在img标记之后的标记,例如:
<img height="1px" src="spacer.gif">
Run Code Online (Sandbox Code Playgroud)
有人可以帮助完成这个正则表达式?这很简单,但我认为这可能是获得答案的更快捷方式.
我需要一个Vbscript,它应该从我的电脑上打开一个图像文件,几分钟后会自动关闭.我打算通过命令提示符运行脚本,任何帮助都是值得赞赏的.
我想从每个节点中删除<P_ID>&节点.<P_Name><product>
这是XML的样子:
<products>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
</products>
Run Code Online (Sandbox Code Playgroud)
这些产品节点有数千个.
这是我到目前为止:
Set objXMLDoc = Wscript.CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
Dim XMLFile
XMLFile = "products.xml"
objXMLDoc.load(XMLFile)
Set nodes = objXMLDoc.selectNodes("products/product/P_ID")
For Each node In nodes
objXMLDoc.documentElement.remove
Next
objXMLDoc.Save(XMLFile)
Run Code Online (Sandbox Code Playgroud) 我下面有一个XML文件.我想循环遍历此文件并提取节点节点值,就像节点<com>获取名称值然后循环2次以获取文件值.我现在可以获取节点的值,<com>但不确定如何循环内部并获取文件节点的值.
<common>
<com name="Test1.css">
<file name="Tech.css"/>
<file name="Comp.css"/>
</com>
<com name="Test2.css">
<file name="HR.css"/>
<file name="HR2.css"/>
</com>
</common>
Run Code Online (Sandbox Code Playgroud)
Dim xmlDoc, objNodeList, plot
Set xmlDoc = CreateObject("Msxml2.DOMDocument")
xmlDoc.setProperty "SelectionLanguage", "XPath"
xmlDoc.load("C:\test\combineXML.xml")
WScript.Echo xmlDoc.parseError
Set objNodeList = xmlDoc.getElementsByTagName("com")
If objNodeList.length > 0 then
For each x in objNodeList
JobName = x.getattribute("name")
WScript.Echo JobName
Next
End If
Run Code Online (Sandbox Code Playgroud) 我是一个新的VB脚本程序员,试图使用VB脚本通过默认程序(在本例中为Adobe Reader X)打开pdf文件,并将其保存为文本文件.
我打开PDF的当前脚本等待1秒钟,然后将其保存为文本.但是,对于速度较慢的计算机,加载PDF可能需要1秒以上的时间.有没有人知道如何在文件打开或状态准备好之前进行睡眠循环?
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Temp\Gasprices.pdf"""
Set objShell = CreateObject("WScript.Shell")
wscript.sleep 1000
objShell.SendKeys "%FAX%S"
Run Code Online (Sandbox Code Playgroud) 编者注:
虽然这个问题具体是关于将文件引用复制到剪贴板,但它的通用标题导致了关于如何复制/获取文本的答案 .
作为Windows Emacs的用户经常谁在邮件附加的文件,我一直在寻找一个实用程序来复制一个文件(而不是其内容)到剪贴板,就像Windows资源管理器确实在righclick /份).
我刚刚在SO上找到了这个,它在一个小程序中使用System.Windows.Forms.Clipboard`来做到这一点.但它是在C#中,我没有立即访问编译器.所以我想知道这是否可以做到以及如何做到.
我看到了一些像这样的引用,在VBScripting中无法访问剪贴板,但msdn 显示了VB的文档,所以我冒着风险提问.
我以前从来没有写过VBScript,但我在尝试之前尝试了一些事情,首先是运行一个粘贴了"Hello world"的副本,然后是各种组合CreateObject等.
更新:我需要打电话Clipboard.SetFileDropList,所以我认为我不能ClipboardData按照答案的建议使用它,它没有这个方法.
访客更新
我最终使用的解决方案是编译C#自己,我不知道我已经有了编译器.
访问者 /sf/answers/2097428791/的另一个更新是我现在正在使用的,非常愉快.
我需要在Microsoft Azure网站托管上的VBScript函数(或合适的解决方法)中调用或至少将参数传递到C#函数,即:
Function VBScriptFnc(param_1, param_2, param_3)
Dim flag;
flag = 1
'call the C# function or somehow pass parameters into C# function'
csharpFunction(param_1, param_2, param_3)
VBScriptFnc = flag
End Function
Run Code Online (Sandbox Code Playgroud) 尝试在HP-UFT中运行时,下面的VBScript代码使我感到困惑,因为第一个语句打印True而不是False(这似乎不合逻辑),而第二个语句打印False(这看似合乎逻辑)
码:
print 40 = "40"
a = 40
b = "40"
print a = b
Run Code Online (Sandbox Code Playgroud)
输出:
True
False
Run Code Online (Sandbox Code Playgroud) 我在Eclipse IDE中执行下面的Java代码.
public class Programs {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i, num, n;
n = 6;
// num=n-1;
for (i = 1; i <= n - 1; i++) {
n = n * i;
}
System.out.println("Factorial of the declared number is" + " " + n);
}
}
Run Code Online (Sandbox Code Playgroud)
它将输出显示为-1420957696.如果我取消注释并在for循环中使用"num"变量,代码工作正常.我认为,对于每次迭代,与价值n相比,变化的价值逐渐变得令人难以置信i.相同的代码在VBScript中工作正常(见下文).有人可以解释这个区别吗?
Option Explicit
Dim i, num
num = InputBox("enter a number")
For i=1 To num-1
num = num * i …Run Code Online (Sandbox Code Playgroud)