0

作为 Jacob 新手,我无法使用 Win32_ShortcutFile 架构的重命名方法来更改文件名。我只想通过模式方法调用来使用它。请建议我应该如何进行。

我的代码如下所示:

    public static void main(String[] args) {
    ComThread.InitMTA();
    ActiveXComponent os = null;

    try {
        ActiveXComponent wmi = new ActiveXComponent("winmgmts:\\\\.");
                    String newName = "jacobtest";
        Variant instances = wmi.invoke("InstancesOf", "Win32_ShortcutFile");
        Enumeration<Variant> en = new EnumVariant(instances.getDispatch());

        while (en.hasMoreElements()) {
            ActiveXComponent bb = new ActiveXComponent(en.nextElement()
                    .getDispatch());
            String file = bb.getPropertyAsString("FileName");
            System.out.println(file);

            if (file.equals("filename")) {
                os = new ActiveXComponent(en.nextElement                                        ().getDispatch());
                os.invoke("Rename", newName);
            }

        }
    }

    finally {
        ComThread.Release();
    }

}
4

1 回答 1

0

最后我得到了它.... :)

重命名文件时的小错误,应该如下图所示:

  String newName = "D:\\jacobtest.docx";
  if (file.equals("filename")) {
            os = new ActiveXComponent((en.nextElement).getDispatch());
            os.invoke("Rename", newName);
        }
于 2013-09-12T04:30:41.853 回答