1

您能帮我从 Groovy 脚本(在 Windows 平台上)中检索文件版本属性吗?

我的意思是通过右键单击文件名打开的文件属性窗口的详细信息选项卡中 Windows (7) 中可用的版本属性。

我发现只能使用WSH

提前致谢!

4

1 回答 1

0

首先,我尝试使用“Java™ 平台的更多新 I/O API”(NIO.2) 找到解决方案,但没有成功。当我仔细查看您的 WSH 示例时,我意识到它是 COM 脚本。

所以有两种可能解决这个问题:

可以在此处找到从 Java 访问 Word 的示例。

更新 我试图解决您的问题,但在命名空间函数中遇到异常:

@Grab(group='net.java.dev.jna', module='platform', version='3.5.2')

import com.sun.jna.platform.win32.COM.COMException
import com.sun.jna.platform.win32.COM.COMObject
import com.sun.jna.platform.win32.OleAuto;
import com.sun.jna.platform.win32.Variant;
import com.sun.jna.platform.win32.Variant.VARIANT;
import com.sun.jna.platform.win32.WTypes.BSTR;
import com.sun.jna.platform.win32.WinNT.HRESULT;

public class Shell extends COMObject {

    public Shell() throws COMException {
        super("Shell.Application", false);
    }

    public HRESULT Namespace(String dir) throws COMException
    {
        def bstrDir = OleAuto.INSTANCE.SysAllocString(dir)
        def varDir = new VARIANT(bstrDir)
        def result = new VARIANT.ByReference()
        HRESULT hr = oleMethod(OleAuto.DISPATCH_METHOD, result, this.iDispatch, "Namespace", varDir);
    }
}

def shell = new Shell()
shell.Namespace("C:\\Temp")
于 2013-06-30T09:09:53.833 回答