Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Dateiversion abfragen per Batch Datei

Mitglied: JOML

JOML (Level 1) - Jetzt verbinden

12.11.2007, aktualisiert 18.10.2012, 22748 Aufrufe, 10 Kommentare

Hallo allerseits,

Kann man per Batch Datei (cmd) eine Dateiversion abfragen...?

So nach der Art "If exist.... goto END"

Sinn ist es, dass das Script nur ganz ablauft, wenn eine spez. Dateiversion (nicht Timestamp) vorhanden ist.
Irgendwie muss man doch die Dateiattribute abfragen können..?


Vielen Dank für Eure Hilfe

Gruss
JOML
Mitglied: bastla
12.11.2007, aktualisiert 18.10.2012
Hallo JOML2005!

Vielleicht hilft Dir ja dieser Beitrag: Versionsnummer von OCX per batch auslesen und drucken

Grüße
bastla
Bitte warten ..
Mitglied: JOML
13.11.2007 um 12:06 Uhr
Hallo bastla,

Ja und Nein... komme leider nicht weiter

Ich müsste das ganze noch in eine "IF" abfrage einbauen.

Das heisst zuerst erkennen der Version, danach "..wenn Version xy, dann gehe zu END.."

Ist das möglich...??

Vielen Dank für Deine Hilfe
PS: Das Script betreffend user passwörter zurücksetzten im AD funktioniert bestens..danke

Gruss
JOML
Bitte warten ..
Mitglied: Biber
13.11.2007 um 12:16 Uhr
Moin JOML,

magst Du uns denn mitteilen, welche Variante Du bis hierher verwendest?
Die meisten im Parallelthread haben doch gegen Ende eine Zeile
01.
...
02.
if defined Version echo %~1 - Version %Version%
...oder ähnlich.

Wieso kannst Du nicht an dieser Stelle einbauen:
01.
if defined Version if [%Version%]==[4.7.32.5] goto :uralteGurke
02.
if defined Version if [%Version%]==[4.7.50.0] goto :neuerAlsMeine
Bitte erläutere Dein Problem doch etwas genauer.

Danke
Biber
Bitte warten ..
Mitglied: JOML
13.11.2007, aktualisiert 18.10.2012
[https://www.administrator.de/forum/versionsnummer-von-ocx-per-batch-auslesen-und-drucken-55738.html
Versionsnummer von OCX per batch auslesen und
drucken]

Hallo Biber,

wollte es mit der obenstehenden Lösung versuchen.
Es geht darum:
Als erstes muss herausgefunden werden ob eine spez. SW Version (als Beispiel NERO 6.3.3.) installiert ist. Darum der check der Fileversion.
Wenn diese Version installiert ist, darf nichts mehr passieren.... das heisst also "goto END".
Ist aber eine andere Version installiert, soll die Batchdatei bis zum Schluss durchlaufen.

So hatte ich mir das in etwa vorgestellt..

Die Batchdatei besteht schon.. jetzt muss ich nur noch den Teil mit der Fileversion und dem "IF" irgendwie hinbekommen...

Vielen Dank

Gruss
JOML
Bitte warten ..
Mitglied: Biber
13.11.2007 um 13:22 Uhr
Moin JOML,

dann nimm (falls Du mit der FileVer.exe arbeitest) folgende Zeile bzw zwei Zeilen im Batch:
a) CMD-Prompt
01.
for /f "tokens=2 delims== " %i in ('ftype^|find "Nero.exe"') do @for /f "tokens=5" %j in ('filever %~si /b') do @echo Set version=%j
02.
Set version=6.6.0.16
b) Batch
01.
..
02.
for /f "tokens=2 delims== " %%i in ('ftype^|find "Nero.exe"') do set nero=%%~si
03.
if defined nero for /f "tokens=5" %%j in ('filever %nero% /b') do Set version=%j
04.
if defined version if [%version%] LEQ [6.3.3] goto :shitHappens
Bitte warten ..
Mitglied: JOML
13.11.2007 um 14:45 Uhr
b) Batch
01.
..
02.
> for /f "tokens=2 delims== " %%i in
03.
> ('ftype^|find
04.
> "Nero.exe"') do set
05.
> nero=%%~si
06.
> if defined nero for /f "tokens=5"
07.
> %%j in ('filever %nero% /b') do Set
08.
> version=%j
09.
> if defined version if [%version%] LEQ
10.
> [6.3.3] goto :shitHappens
11.
> 

Hallo Biber,

Vielen Dank.

Da ich das Tool "FileVer.exe" noch nicht kenne, habe ich leider noch Fragen.
1. Muss ich das Tool noch in der Batchdatei irgendwie aufrufen..? Oder wie wird erkannt ob das Tool da ist oder nicht..?
2. Muss kein Pfad zur Nero.exe angegeben werden..? z.B c:\program files\Nero\Nero.exe
3. [6.3.3] goto > Gebe ich hier ein, welche version da sein sollte..?

Sorry für die vielen Fragen.. bin leider noch nicht so ein Crack in Sachen Batch etc.

Danke nochmals für Eure Hilfe.

Gruss
JOML
Bitte warten ..
Mitglied: Biber
13.11.2007 um 15:01 Uhr
Moin JOML,

1. die FileVer.exe ist nicht automatisch mit auf dem Rechner - die lässt sich bei M$ herunterladen als Bestandteil eines ResKits. Aber ebenso geht bastlas Skriptvariante im o.a. Thread.
2. Nein, der Pfad wird implizit ermittelt. Probier es aus... wenn Nero installiert ist, bekommst Du ein gültiges Ergebnis. Evtl noch "Find /i" statt nur "find", aber nach meinen Tests ist IMMER eine "Nero.exe" mit dabei, die genau so geschrieben wird (großes "N", kleines "ero.exe").
3. Jepp.

Grüße
Biber
Bitte warten ..
Mitglied: JOML
13.11.2007 um 17:01 Uhr
Hallo zusammen,

Habs jetzt die Variante genommen:
01.
set "Datei=C:\Progra~1\Muster\muster.exe"
02.
set "GetV=%Temp%\GetV.vbs" 
03.
echo Set  objWMIService=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")>"%GetV%"
04.
echo Set colFiles=objWMIService.ExecQuery ("SELECT * FROM CIM_Datafile WHERE  Name='"^&Replace(WScript.Arguments(0),"\","\\")^&"'")>>"%GetV%" echo For Each objFile in colFiles: WScript.Echo objFile.Version: Next>>"%GetV%"
05.
set Version=
06.
for /f %%i in ('cscript //nologo "%GetV%" "%Datei%"') do set "Version=%%i"
07.
if defined Version echo %Datei% - Version %Version%
08.
if defined Version if [%Version%]==[15.1.6.65] goto :END
09.
del "%GetV%"
Und es scheint zu funktionieren.. oder sieht da noch jemand ein Fehler im Script ?
Nachtrag: Es funktioniert BESTENS !!

Noch zwei Fragen:
Für was steht am Anfang "setlocal" (rechts von @echo off &)
Das Zeichen ^ hat welche Funktion..?

Vielen vielen Dank an alle.
Absolut geniale Hilfe hier im Forum.

Gruss
JOML
Bitte warten ..
Mitglied: Biber
13.11.2007 um 18:50 Uhr
Moin JOML,

Noch zwei Fragen:
Für was steht am Anfang "setlocal" (rechts von @echo off &)
Das Zeichen ^ hat welche Funktion..?

"Setlocal" bedeutet, dass alle Variablen, die während der Ausführung dieses Batches neu definiert werden (mit "Set var=bla")
nur lokal, nur solange der Batch läuft existiieren.

Und Dass Du so keine bereits vorhandenen unabsichtlich überschreiben kannst (z.B. %computername% oder %username%) und dass keine Variblen-Trümmer mehr rumliegen, wenn der Batch beendet ist.

Das Caret (^) "maskiert" Zeichen, die ansonsten im Batch als Steuerzeichen besondere Bedeutung hätten.
Sagt also quasi "Hey, wenn Du das nächste Zeichen liest, liebe CMD.exe, halt die Füße still, das soll dieses Mal nur ein ganz normaler Buchstabe sein. Nicht sofort losrennen.".

Ohne das Caret würden die beiden Befehle IN DER Klammer oben ausgeführt werden, bevor überhaupt die FOR-Anweisung selbst initialisiert ist.
Durch das Caret sage ich also:
- Mach mir eine FOR-Anweisung mit whatever in der Klammer
- diese FOR-Anweisung wird erstmal syntaktisch geprüft OHNE das Zeug in der Klammer
- dann wird das Zeug in der Klammer syntaktisch geprüft und ausgeführt und zwar von einer neuen CMD.exe-Instanz.
- die neue Instanz führt den Aufruf OHNE das Caret aus.

Grüße und danke für das nette Feedback
Biber

P.S. Habe oben den Code in gleichnamige Tags gesetzt.
Verbesserungsvorschlag:
del "%GetV%" ---> soll eigentlich immer gemacht werden. also VOR der Entscheidung richtige/falsche Version und somit auch vor "Goto :END" oder "geh einfach weiter".
Bitte warten ..
Mitglied: JOML
13.11.2007 um 18:59 Uhr
Alles klar.. danke für die Info

Gruss
JOML
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateiversion mit Bat6chdatei auslesen und weiterverarbeiten

Frage von knomusBatch & Shell1 Kommentar

Hallo, ich möchte mit einer Batchdatei die Version einer Exedatei auslesen. Das Ergebnis (Beispielsweise 3.5.4.0) möchte ich weiterverarbeiten. Wie ...

Batch & Shell

BATCH ini Datei Datei auslesen

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell

Batch Datei Ordnerüberwachung

Frage von Phant0xBatch & Shell1 Kommentar

Hallo zusammen, könntet ihr mir helfen eine Batch Datei zu schreiben, die einen bestimmten Ordner kontrolliert, ob sich Dateien ...

Batch & Shell

Batch-Datei erstellen

gelöst Frage von tocksickBatch & Shell2 Kommentare

Hallo liebe Gemeinde! Ich bin dabei eine Batch-Datei zu schreiben welche folgendes tun soll: Die Batch soll alle auf ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 1 TagInternet4 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 1 TagWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 2 TagenWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 2 TagenSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
TAPI auf einem Win2016Server installieren und einrichten
Frage von wstabelTK-Netze & Geräte26 Kommentare

Hallo liebe Admins, ich habe folgende Situation: 1 Windows Server 2016 Standard als DC 1 SNOM 710 IP-Telefon 1 ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell24 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Verschlüsselung & Zertifikate
Netzwerkfreigabe Verschlüsselung
Frage von grill-itVerschlüsselung & Zertifikate20 Kommentare

Moin zusammen, sicher nutzen hier die ein oder anderen ein Produkt zur Verschlüsselung von Netzwerkfreigaben/-laufwerken auf denen hochsensible Daten ...

Microsoft
Übertragung von MS Volumenlizenzen
Frage von SherlockineMicrosoft18 Kommentare

Ich bin Angestellte in einer kleinen 10-köpfigen IT-Firma, die Netzwerklösungen, Telefonielösungen und Ähnliches anbietet. Im Sommer hatten wir einen ...