微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用cmd / batch获取Windows可执行文件的“原始文件名”详细信息字段

在Windows上,MZ / PE可执行文件通常有一个名为“原始文件名”的属性,用于描述创build时分配给可执行文件的原始文件名。

Windows用户可以从文件的“属性”窗口的“详细信息”选项卡中阅读(通过右键单击文件并select“属性”打开)。

我发现许多其他问题,讨论“原始文件名,所以要说清楚,我正在谈论这个领域,为mspaint.exe文件

从Windowsbatch file检测ANSI兼容的控制台?

批处理命令执行顺序

如何使用批处理脚本中的参数调用程序?

使用Build Events停止构build并显示消息

在ubuntuterminal中执行一系列命令

然而,我想使用batch file或Windows命令行(请勿使用PowerShell)来访问/读取此属性(并可能编辑它)。

谢谢!

使用Windowsbatch file备份用户指定的位置和用户指定的文件扩展名中的文件

TortoiseGit Git从脚本提交消息

当设置排除参数时,xcopy返回错误“无效的参数数目”

CMD打开,而不是VBS

如何用Windowsbatch file重命名大量文件

Windows没有内置的命令行工具来从PE文件读取版本信息。

您可以使用像Resource Hacker这样的资源编辑器来导出信息,但仍然需要解析导出的文件

在WinVista +(以及安装了桌面搜索的WinXP)上,您可以使用shell属性系统(与文件属性对话框使用相同的API)读取信息。

Microsoft开发人员已经创建了一个名为shellproperty.exe的免费工具,您可以使用它来读取System.OriginalFileName属性

使用Windows脚本宿主,如果使用ShellFolderItem.ExtendedProperty方法,也可以访问属性系统。

最后,一个WSH脚本可以与一个批处理文件合并,创建一个具有零外部依赖的工作多边形 :

@if (1 == 0) @end /* @cscript.exe /E:jscript /nologo "%~f0" %* @goto :eof */ var objShell = new ActiveXObject("shell.application"); var objFolder2,ssfSysDir = 0x25,propVal = ""; objFolder2 = objShell.NameSpace(ssfSysDir); if (objFolder2 != null) { var objFolderItem; objFolderItem = objFolder2.ParseName("mspaint.exe"); if (objFolderItem != null) { propVal = objFolderItem.ExtendedProperty("{0CEF7D53-FA64-11D1-A203-0000F81FEDEE},6"); WScript.Echo(propVal); } }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐