zeroblue2005
Goto Top

Doppelte Bedingungen für eine Update Batch

Hallo Zusammen,

jetzt bastel ich schon schon ein paar Tage an einer Update Batch und Sie läuft auch wunderbar. Nun will ich diese Update-Batch via Task-planer einbinden und da viel mir ein, dass ja nur Server 2008 R2 dieses Update erhalten sollen und wenn die Update Datei einen höheres Datum hat als die lokale Datei. Also brauche ich vor der eigentlichen Update ein Prüfung. Meine Fähigkeiten reuchen aber dafür nicht aus! Das Ganze soll etwas so aussehen:
@echo
if hat Datei "X:\RAP\BE-Dateien\Update.exe" einen neueres datum als "C:\Program Files\RAP\rap.mdb" und gleichzeitig prüfe ob OS ein Server 2008 R2 ist dann starte Update goto :U1   
goto :ende 
:U1 
Hier startet dann das Update
:ende 
exit
Das hier habe ich gefunden als VBS
'v1.0********************************************************************  
' File:   	        GetOSVersion.vbs  
' Autor:  	        schuladmin   
' verwendet:    WMI        
' Plattformen:   Win98/WinNT/ -> Voraussetzung WMI installiert  
'	         2k/XP  
' Indentifiziert das installierte Betriebssystem sowie die Versionsnummer  
'************************************************************************  

Titel=" GETOSVERSION"  
Eingabe = InputBox("Geben Sie die IP oder den Namen des Rechners ein !",Titel)  

If Eingabe="" then MsgBox" . . . dann halt nicht!",,WScript.ScriptName  
If Eingabe="" then WScript.Quit  

strComputer = Eingabe 'Name oder IP eingeben  

Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
Set colOperatingSystems = objWMIService.ExecQuery _
    ("Select * from Win32_OperatingSystem")  
For Each objOperatingSystem in colOperatingSystems
    Wscript.Echo objOperatingSystem.Caption & " " & _  
        objOperatingSystem.Version
Next
Hat wer Lust das für mich zu bauen, Biber face-wink ?

[Edit Biber] Erstmal Codeformatierung.[/Edit]

Content-Key: 301826

Url: https://administrator.de/contentid/301826

Printed on: April 25, 2024 at 07:04 o'clock

Mitglied: 114757
Solution 114757 Apr 14, 2016 updated at 11:46:18 (UTC)
Goto Top
Moin.

OS auf Server2008R2 prüfen:
wmic os where (Version like "6.1%" and ProductType=2 or ProductType=3) get Version | findstr /b "6" >nul && echo OS is Server 2008R2 || echo OS passt nicht  

Prüfen welche Datei von zweien neuer ist:
for /f "delims=" %%a in ('dir /B /O:D "C:\datei1.exe" "C:\datei2.exe"') do set "newest=%%a"  
echo Neuestes File: %newest%
wobei das nicht den Fall der Gleichheit beider Dateien berücksichtigt.
oder du nimmst
powershell -Executionpolicy ByPass -Command "if ((get-item 'C:\datei1.exe').LastWriteTime -gt (get-item 'C:\datei2.exe').LastWriteTime){"Datei1 ist aktueller als Datei2"}"  
Damit solltest du jetzt klar kommen face-wink

Gruß jodel32
Member: zeroblue2005
zeroblue2005 Apr 14, 2016 at 11:50:08 (UTC)
Goto Top
Bin von den Socken, wie du dir das immer aus den Fingern zieht, unglaublich... Danke!