You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本调用Windows Explorer的文件属性页?

如何通过脚本打开文件/文件夹的属性对话框

嘿,你要的功能其实有两种很直接的实现方式,比你现有的选中文件的操作更贴合需求:

方法一:用Shell.Application原生调用属性页

这是最贴合Windows Shell原生逻辑的方式,和右键点击选「属性」的效果完全一致:

// 替换成你需要打开属性页的文件/文件夹路径
var targetPath = "C:\\Users\\YourName\\Desktop\\test.txt"; 
var shellApp = new ActiveXObject("Shell.Application");
// 获取目标路径对应的Shell项
var folderItem = shellApp.NameSpace(targetPath).ParseName(targetPath.split("\\").pop());
// 触发「属性」操作
folderItem.InvokeVerb("Properties");
// 释放对象
shellApp = null;

简单解释下:

  • Shell.Application是Windows提供的核心Shell操作对象,能直接调用右键菜单里的各种功能
  • NameSpace和ParseName用来定位到具体的文件/文件夹项
  • InvokeVerb("Properties")就是模拟右键点击选择「属性」的动作

方法二:用rundll32.exe命令行调用

如果你习惯用现有代码里的WScript.Shell.Run方式,也可以直接调用系统内置的命令:

var targetPath = "C:\\Users\\YourName\\Desktop\\test.txt";
// 给路径加引号,避免空格导致的问题
var quotedPath = '"' + targetPath + '"';
var objShell = new ActiveXObject("WScript.Shell");
// 调用系统dll打开属性对话框
objShell.Run('rundll32.exe shell32.dll,Properties_RunDLL ' + quotedPath);
objShell = null;

这个命令的原理是调用shell32.dll里的Properties_RunDLL函数,直接传入目标路径就能弹出属性页,和原生操作无差别。

小提示

  • 路径里的反斜杠要转义(用\\),或者直接用正斜杠/也能被系统识别
  • 如果路径包含空格,必须用双引号包裹路径(上面的代码已经自动处理了这个情况)
  • 两种方法都同时支持文件和文件夹,替换targetPath就行

内容的提问来源于stack exchange,提问作者Jim Kolb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:04:02