sigcheck -a -q %windir%\system32\mstsc.exe
- jika perlu tambahkan MD5, SHA1, PESHA1, SHA256
sigcheck -a -q -h %windir%\system32\mstsc.exe
- versi uji, dan jalankan perintah:
sigcheck -a -q %windir%\system32\mstsc.exe | find "Prod version:" | find "6.0.6001.18564" && Echo "RDP 6.0.6001.18564"
filever - Alat pendukung:
Alat Dukungan Windows XP Paket Layanan 2 atau
Windows Server 2003 Paket Layanan 2 Alat Pendukung 32-bit
filever /V %windir%\system32\mstsc.exe
var 2:
filever /V %windir%\system32\mstsc.exe | findstr "FileDesc Version"
filever /V %windir%\system32\mstsc.exe | findstr "ProductVersion" | find "6.0.6001.18564" && Echo "RDP 6.0.6001.18564"
filever /V %windir%\system32\mstsc.exe | findstr "ProductVersion" | find "6.0.6001.18564" || Echo "NOT 6.0.6001.18564"
wmic:
wmic datafile where "name='C:\\<windows dir>\\system32\\mstsc.exe'" get version
Powershell:
Deskripsi berkas:
powershell (gi %windir%\system32\mstsc.exe).versioninfo.FileDescription
Versi: kapan:
powershell (gi %windir%\system32\mstsc.exe).versioninfo ^|Ft -Au
bandingkan versi skrip:
$VerArr = [version]"8.2.6001.18564", [version]"6.0.6001.18564"
[version]$v1="8.2.6001.18564"
[version]$v2="6.0.6001.18564"
[version]$v3=(gi $env:windir\system32\mstsc.exe).versioninfo.ProductVersion
$v3
$v3 -ge $v1
$v3 -ge $v2
If ($VerArr -contains $v3)
{
echo 'Run version list block'
}
keluaran:
Major Minor Build Revision
----- ----- ----- --------
6 0 6001 18564
False
True
Run version list block
WSH:
cscript //Nologo vers01.vbs
vers01.vbs:
WScript.Echo CreateObject("Scripting.FileSystemObject").GetFileVersion(CreateObject("WScript.Shell").Environment("Process")("WINDIR") & "\system32\mstsc.exe")
JScript:
cscript //Nologo vers01.js
vers01.js:
WScript.Echo(new ActiveXObject("Scripting.FileSystemObject").GetFileVersion(new ActiveXObject("WScript.Shell").ExpandEnvironmentStrings("%windir%")+"//system32//mstsc.exe"));
instal pefile modyle: Unzip, jalankan python setup.py install
import pefile, os
pe = pefile.PE(os.path.join(os.environ['WINDIR'],'system32\mstsc.exe'))
ProductVersion = pe.FileInfo[0].StringTable[0].entries['ProductVersion']
print ProductVersion
PHP:
php vers01.php
php.ini ( %windir%
):
extension_dir = C:\php\ext\
[COM_DOT_NET]
extension=php_com_dotnet.dll
vers01.php:
<?php
$path = getenv('SystemRoot').'\\system32\\mstsc.exe';
$fso = new COM("Scripting.FileSystemObject");
echo $fso->GetFileVersion($path);
?>
Perl:
Instal Win32 :: File :: module VersionInfo: cpan Win32::File::VersionInfo
use Win32::File::VersionInfo;
$fn=$ENV{windir} . "\\system32\\mstsc.exe";
$fl=GetFileVersionInfo($fn);
if($fl){print $fl->{FileVersion},"\n";}
Jawaban @STTR baik-baik saja, kecuali tidak memberikan cara untuk membandingkan versi dalam batch , karena ini mungkin juga masalah, misalnya, ketika membandingkan 10.0.10049 dengan 6.3.9600.
Jika Anda melakukannya dengan polos
IF %ver1% GTR %ver%
, Anda akan mendapatkan perbandingan string , dan6.3.9600
akan tampak lebih besar dari10.0.10049
.Saya tahu Anda telah mengatakan bahwa ini bukan "menulis untuk saya", tetapi ini adalah kasus ketika lebih mudah untuk menulis kode daripada menjelaskan dalam bahasa Inggris yang sederhana (dan kode itu cukup jelas).
Dari /superuser//a/363308/131936 Saya telah menemukan cara membaca versi file menggunakan
wmic
, yang dikirimkan dengan jendela kosong.compareVersion.cmd
Cara menggunakan ini tentang pertanyaan Anda:
pertama, baca satu versi file:
lalu bandingkan dengan file lain:
Anda juga dapat versi hardcode, jika Anda ingin:
PS Berikut ini skrip saya untuk membaca / memeriksa versi windows , dibangun dengan prinsip yang sama.
sumber
Tidak persis untuk pemeriksaan versi, tetapi Anda dapat menghitung dan membandingkan checksum MD5 atau SHA1 dari dua file dan kemudian membandingkannya jika keduanya sama. Jika string checksum sama, kedua file persis sama (maka versi yang sama), yang lain berbeda.
Anda dapat menggunakan alat FCIV di baris perintah untuk menghitung checksum.
sumber