在Windows上检查Ruby中的文件版本
发布时间:2020-12-14 01:45:29 所属栏目:Windows 来源:网络整理
导读:有没有办法在 Ruby中找到一个文件的版本,特别是一个.dll文件? 对于Windows EXE和DLL的: require "Win32API"FILENAME = "c:/ruby/bin/ruby.exe" #your filename heres=""vsize=Win32API.new('version.dll','GetFileVersionInfoSize',['P','P'],'L').call(FI
有没有办法在
Ruby中找到一个文件的版本,特别是一个.dll文件?
对于Windows EXE和DLL的:
require "Win32API" FILENAME = "c:/ruby/bin/ruby.exe" #your filename here s="" vsize=Win32API.new('version.dll','GetFileVersionInfoSize',['P','P'],'L').call(FILENAME,s) p vsize if (vsize > 0) result = ' '*vsize Win32API.new('version.dll','GetFileVersionInfo','L',vsize,result) rstring = result.unpack('v*').map{|s| s.chr if s<256}*'' r = /FileVersion..(.*?) 00/.match(rstring) puts "FileVersion = #{r ? r[1] : '??' }" else puts "No Version Info" end “unpack”regexp部分是一个黑客,“正确”的方式是VerQueryValue API,但这应该适用于大多数文件. (可能在扩展字符集上可能失败) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows?2003中配置SNMP服务的网络安全
- 扩展System.Windows.Forms.Button并更改c#中的默认文本
- 【DIY】FFmpeg Joiner – 多段视频「无损合并」小工具 [Win
- windows-phone-7 – 如何做这样的事情? (应用程序内的瓷砖
- windows-server-2003 – 我如何测试某个特定端口是否在服务
- 在Windows上启动参数的Ubuntu上的Bash
- windows-server-2003 – 终端服务器已超过允许的最大连接数
- 拒绝服务 – 阻止IP地址,防止DoS攻击
- msmq – 有没有办法只查看计算机管理的消息队列部分?
- windows – 在Chrome和Firefox域强制执行“点击播放”?
推荐文章
站长推荐
- emacs以编程方式更改窗口大小
- windows – Inno设置Pascal脚本来搜索运行进程
- Windows 7从命令行清空整个目录
- Windows – IIS不再信任任何CA进行客户端身份验证
- Windows 8商店应用的设置栏中的按钮样式
- .net – 在Windows XP上开发Windows Phone 7
- microsoft-ftmg-2010 – vSphere Site Recovery
- Install Terraform on Windows, Linux and Mac O
- windows 升级phpStudy 中MySQL 版本至5.7.17
- 如何在Windows批处理脚本或Perl中将文件移动到回
热点阅读