Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Dateiversionen mit Skript vergleichen und wenn Datei neuer ist, installieren

Frage Entwicklung Batch & Shell

Mitglied: Jens4ever

Jens4ever (Level 1) - Jetzt verbinden

12.11.2014, aktualisiert 21:48 Uhr, 1062 Aufrufe, 9 Kommentare, 1 Danke

Moin zusammen,

ich bräuchte mal eure Hilfe bitte.

Könnte ihr mir helfen, das zu realisieren als Skript? Am liebsten als Batch. Wenn das nicht geht, als VBS oder PS1.

Check Version von D:\Download\Tool.exe
Wenn Versionsnummer < als C:\Program Files\Tool\Tool.exe
GOTO :Ende
D:\Download\Tool.exe /silent
:Ende


Das Skript soll also 2 Dateiversionen vergleichen und wenn die eine Datei neuer ist (die auf D dann soll sie installiert werden. Alternativ würde auch ein portable Programm gehen, mit dem ich das abrufen und vergleichen kann.


Danke vorab für eure tolle Unterstützung.
Jens!

Mitglied: Dani
12.11.2014 um 21:48 Uhr
Moin Jens,
geht es wirklich um ausführbare Dateien, die nicht auf dem Rechner installiert sind? Falls nicht, ist die Registry der erste Anlaufpunkt.
Aus der Hüfte heraus würde ich es mit Powershell so versuchen:
01.
[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Temp\tool.exe").FileVersion
Am liebsten als Batch.
Verabschiede dich davon... die Zukunft ist Powershell. War in den letzten Tagen bei Microsoft und die cmd.exe soll schnellst möglich verschwinden.


Gruß,
Dani
Bitte warten ..
Mitglied: rubberman
13.11.2014 um 00:52 Uhr
Hallo Jens,

diese Fragen kommen immer wieder. Mit Batch pur ist das nicht zu machen, aber schau mal dort vorbei.

@Dani
Zitat von Dani:

War in den letzten Tagen bei Microsoft und die cmd.exe soll schnellst möglich verschwinden.
Tot gesagte leben länger Das ist seit Jahren immer mal wieder im Gespräch und (vermutlich aus Kompatibilitätsgründen und weil all die 3rd Party Konsoleprogramme irgendwo ausgeführt werden wollen) konnte man sich nie dazu entschließen. Ist auch völlig Wurscht ob die paar kB nun noch zusätzlich auf der Platte liegen oder nicht. Ich bin gespannt...

Grüße
rubberman
Bitte warten ..
Mitglied: ITvortex
13.11.2014, aktualisiert um 08:51 Uhr
Zitat von Dani:

Moin Jens,
geht es wirklich um ausführbare Dateien, die nicht auf dem Rechner installiert sind? Falls nicht, ist die Registry der erste
Anlaufpunkt.
Aus der Hüfte heraus würde ich es mit Powershell so versuchen:
01.
> [System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Temp\tool.exe").FileVersion 
02.
> 
> Am liebsten als Batch.
Verabschiede dich davon... die Zukunft ist Powershell. War in den letzten Tagen bei Microsoft und die cmd.exe soll schnellst
möglich verschwinden.


Gruß,
Dani

Ich war gestern auch dort, und außer Powershell wird nicht mehr viel verwendet. Sei es zur Migration von Exchange auf office365 oder auch für simple Skripte. Man muss sich halt ein wenig umgewöhnen, und Powershell kann sowieso alles was die cmd.exe auch kann. So...
Bitte warten ..
Mitglied: laster
13.11.2014 um 09:50 Uhr
Hallo Jens,

eine Möglichkeit ist auch psinfo aus den sysinternals (von Microsoft):
01.
psinfo -s | find "VNC Free"
Geht aber auch nur, wenn das Programm in der Reg eingetragen ist.
Ansonsten kannst Du per md5sum zumindest erkennen, ob das Programm identisch ist (aber das reicht Dir ja nicht).

vG
LS
Bitte warten ..
Mitglied: Endoro
14.11.2014 um 10:32 Uhr
Hey,
das hab ich hier schon mal beantwortet.

Ich glaub nicht, dass Batch so bald abgeschafft wird. Zum Beispiel nutzen viele Installer das noch. Vielleicht wird es nicht mehr standardmässig installiert. Aber auch dann wird M$ viele Supportanrufe bekommen
Gruß, Endoro
Bitte warten ..
Mitglied: Jens4ever
14.11.2014 um 16:13 Uhr
Moin!

Erst mal danke für die zahlreichen Wortmeldungen.

PowerShell scheint mir auch der richtige Weg hier zu sein, Dani. Ich habe zwar auch code gefunden, der vergleicht, es gelang mir jedoch nicht beiden zu kombinieren. Auch ein PS onlinekurs hat nüscht genützt ;)

Könntest du mir vielleicht die beiden Zeilen schreiben?

Schönes WE
Jens
Bitte warten ..
Mitglied: Dani
14.11.2014 um 23:41 Uhr
Moin,
Könntest du mir vielleicht die beiden Zeilen schreiben?
Machbar, dazu sollte ich wissen um welches Tool/Programm es geht...


Gruß,
Dani
Bitte warten ..
Mitglied: Jens4ever
14.11.2014 um 23:47 Uhr
Jo! Java.exe z.B.

Vielen Dank schon mal Dani.
Bitte warten ..
Mitglied: Dani
15.11.2014, aktualisiert um 00:26 Uhr
Anbei die erste Version aus der Hüfte geschossen:
01.
<# 
02.
Author:   Dani 
03.
Erstellt: 14.11.2014 
04.
Aufgabe:  Versionsnummer zweier EXE-Dateien auslesen und vergleichen 
05.
#> 
06.
 
07.
[string] $strSourceApp = "U:\Programme\Oracle\Jave JRE\jre-7u65-windows-x64.exe" 
08.
[string] $strDestApp = "U:\Programme\Oracle\Jave JRE\jre-7u67-windows-x64.exe" 
09.
 
10.
 
11.
if ($strSourceApp -ne "") { 
12.
    [array] $strSourceAppVer = [System.Diagnostics.FileVersionInfo]::GetVersionInfo("$strSourceApp").FileVersion.Split(" ") 
13.
    Write-host "Bestehende Version: $strSourceAppVer" 
14.
 
15.
    if ($strDestApp -ne "") { 
16.
    [array] $strDestAppVer = [System.Diagnostics.FileVersionInfo]::GetVersionInfo("$strDestApp").FileVersion.Split(" ") 
17.
        Write-host "Vergleichsversion: $strDestAppVer" 
18.
 
19.
        if($strSourceAppVer[0] -lt $strDestAppVer[0]) { Write-Host "Neue Version vorhanden." } 
20.
        else { write-host "Keine neue Version gefunden!" } 
21.
22.
    else { write-host "Datei nicht gefunden!" } 
23.
24.
else { write-host "Datei nicht gefunden!" }
Bitte daran denken, den Pfad zur Soruce und Destinationanwendung anzupassen.


Gruß,
Dani
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Windows 10

Plattformdienst für unbekannte Geräte (7023)

Tipp von KMUlife zum Thema Windows 10 ...

Administrator.de Feedback

Umgangsformen auf der Seite

(9)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Windows Server Komplettspiegelung (15)

Frage von pdiddo zum Thema Windows Server ...

Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...