sigcheck -a -q %windir%\system32\mstsc.exe
- si besoin ajouter MD5, SHA1, PESHA1, SHA256
sigcheck -a -q -h %windir%\system32\mstsc.exe
- testez la version et exécutez la commande:
sigcheck -a -q %windir%\system32\mstsc.exe | find "Prod version:" | find "6.0.6001.18564" && Echo "RDP 6.0.6001.18564"
filever - Outils d'assistance:
Outils de support de Windows XP Service Pack 2 ou
Outils de support de Windows Server 2003 Service Pack 2 32 bits
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:
Description du fichier:
powershell (gi %windir%\system32\mstsc.exe).versioninfo.FileDescription
version:
powershell (gi %windir%\system32\mstsc.exe).versioninfo ^|Ft -Au
comparer la version du script:
$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'
}
production:
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"));
installation du style pefile: Décompressez, exécutez 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:
Installez le module Win32 :: File :: VersionInfo: cpan Win32::File::VersionInfo
use Win32::File::VersionInfo;
$fn=$ENV{windir} . "\\system32\\mstsc.exe";
$fl=GetFileVersionInfo($fn);
if($fl){print $fl->{FileVersion},"\n";}
La réponse de @STTR est correcte, sauf qu'elle ne permet pas de comparer les versions en lot , car cela peut également être le problème, par exemple, lors de la comparaison de 10.0.10049 avec 6.3.9600.
Si vous le faites avec plain
IF %ver1% GTR %ver%
, vous obtiendrez une comparaison de chaînes et6.3.9600
apparaîtra plus grand que10.0.10049
.Je sais que vous avez dit que ce n'est pas "écrire pour moi", mais c'est le cas quand il est plus facile d'écrire du code que d'expliquer en anglais simple (et le code est explicite).
De /superuser//a/363308/131936 j'ai trouvé comment lire la version du fichier à l' aide
wmic
, qui est livré avec des fenêtres nues.compareVersion.cmd
Comment utiliser ceci concernant votre question:
lisez d'abord une version de fichier:
puis comparez-le avec d'autres fichiers:
vous pouvez également coder en dur la version, si vous le souhaitez:
PS Voici mon script pour lire / vérifier la version Windows , construit sur un principe similaire.
la source
Pas exactement pour la vérification de version, mais vous pouvez calculer et comparer la somme de contrôle MD5 ou SHA1 de deux fichiers, puis comparer s'ils sont identiques. Si les chaînes de somme de contrôle sont égales, les deux fichiers sont exactement identiques (d'où la même version), sinon différents.
Vous pouvez utiliser l'outil FCIV en ligne de commande pour calculer la somme de contrôle.
la source