标题: [系统相关] [已解决]如何通过批处理获得指定文件的版本号? [打印本页]
作者: yusukeboy 时间: 2019-5-8 11:15 标题: [已解决]如何通过批处理获得指定文件的版本号?
如何获得指定文件的版本号?路径是C:\Windows\System32\drivers\srv.sys
要获得如图中这个版本号
由于数量太多,希望能节约一点时间
谢谢大佬。
作者: Batcher 时间: 2019-5-8 11:31
wmic命令:- wmic datafile where "Name='C:\\Windows\\System32\\drivers\\srv.sys'" get Version /value
复制代码
test1.bat:- @echo off
- for /f "tokens=2 delims==" %%i in ('wmic datafile where "Name='C:\\Program Files (x86)\\Tencent\\WeChat\\WeChat.exe'" get Version /value ^| findstr "="') do (
- for /f %%j in ("%%i") do (
- set "FileVersion=%%j"
- )
- )
- echo %FileVersion%
- pause
复制代码
test2.bat- @echo off
- for /f %%i in ('powershell -c "(Get-Item -Path 'C:\Program Files (x86)\Tencent\WeChat\WeChat.exe').VersionInfo.ProductVersion"') do (
- set "FileVersion=%%i"
- )
- echo %FileVersion%
- pause
复制代码
作者: yusukeboy 时间: 2019-5-8 15:02
谢谢。完美解决
作者: Batcher 时间: 2021-6-6 11:47
【分享】批处理获取、比较新旧版本号并执行相应操作- @echo off
- cd /d "%~dp0"
- set "FileVersion=version.txt"
- set "FileCheck=C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
- set "VersionOld=0"
-
- for /f %%i in ('powershell -c "(Get-Item -Path '%FileCheck%').VersionInfo.ProductVersion"') do (
- set "VersionNew=%%i"
- )
-
- if not exist "%FileVersion%" (
- >"%FileVersion%" echo %VersionNew%
- echo %FileVersion% 文件不存在
- goto :ExecZip
- ) else (
- for /f %%i in ('type "%FileVersion%"') do (
- set "VersionOld=%%i"
- )
- )
- if "%VersionNew%" neq "%VersionOld%" (
- echo 新旧版本号不一致
- >>"%FileVersion%" echo %VersionNew%
- goto :ExecZip
- ) else (
- echo 新旧版本号一致
- )
- goto :eof
-
- :ExecZip
- echo 下面执行压缩命令
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |