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

Betriebssystem per Batch bestimmen

Frage Entwicklung Batch & Shell

Mitglied: Sp33dy

Sp33dy (Level 1) - Jetzt verbinden

28.12.2009 um 12:24 Uhr, 8580 Aufrufe, 6 Kommentare

Hi
also habe noch ein Problem

habe vorhin schaun wollen ob ich mit einer Batch das Betriebssystem unterscheiden könnte
Habe auch einige Themen/Beiträge durchgelsen und mit dann sowas zusammengebastelt

Weiß jetzt aber nicht wie man dieses Code-Feld macht

@echo off & setlocal
wmic path win32_operatingsystem get caption
wmic path win32_operatingsystem get caption^|FINDSTR "Windows 7" && goto WIN7
wmic path win32_operatingsystem get caption^|FINDSTR "Windows Vista" && goto WINVI
wmic path win32_operatingsystem get caption^|FINDSTR "Windows XP" && goto WINXP
cls
:WIN7
set /p ver="Windows 7"
goto TEST
:WINVI
set /p ver="Windows Vista"
goto TEST
:WINXP
set /p ver="Windows XP"
goto TEST
:TEST
if exist %windir%\SysWOW64\NUL goto X64 else goto X32
:X32
echo Sie haben %ver% 32bit
goto ENDE
:X64
echo Sie haben %ver% 64bit
goto ENDE
:ENDE
pause

Jedenfalls wird angezeigt welche WinVersion man hat aber nur sehr kurz danach wird immer "Windows 7" angezeigt aber ich weiß nicht wo der Fehler liegt
Habs bei meinem Kumpel getestet bei ihm wird ca für 0,5 sek angezeigt "Windows Vista 64bit",was auch stimmt, aber danach "Windows 7"
Mitglied: Arano
28.12.2009 um 12:50 Uhr
Ich kann da so keinen Fehler erkennen, aber bin auch kein Windows Anwender mehr.

Du könntest aber mal das versuchen:
01.
.. 
02.
... 
03.
wmic path win32_operatingsystem get caption^|FINDSTR "Windows XP" && goto WINXP 
04.
cls 
05.
echo Unbekannte Windows Version 
06.
goto ENDE 
07.
:WIN7 
08.
... 
09.
..
Denn wenn der obere "Krams" kein passendes Ergebnis bringt, wird das Programm ja trotzdem weiter abgearbeitet ! Und "Windows 7" ist die Version die als erstes in der Variable gespeichert wird.
So gäbe es die Meldung dass das Betriebssystem nicht erkannt wurde und das Programm beended.

~Arano
Bitte warten ..
Mitglied: Sp33dy
28.12.2009 um 13:15 Uhr
hmmm

Wie müsste ich die BatchDatei abändern damit es genau das macht was ich bezwecke

Komme irgendwie nicht weiter
Bitte warten ..
Mitglied: Xaero1982
28.12.2009 um 13:29 Uhr
Ahoi,

01.
@echo off & setlocal  
02.
wmic path win32_operatingsystem get caption|FINDSTR /c:"Windows 7" && goto WIN7 
03.
wmic path win32_operatingsystem get caption|FINDSTR /c:"Windows Vista" && goto WINVI 
04.
wmic path win32_operatingsystem get caption|FINDSTR /c:"Windows XP" && goto WINXP 
05.
 
06.
 
07.
:WIN7 
08.
set ver="Windows 7" 
09.
goto BIT 
10.
 
11.
:WINVI 
12.
set ver="Windows Vista" 
13.
goto BIT 
14.
 
15.
:WINXP 
16.
set ver="Windows XP" 
17.
goto BIT 
18.
 
19.
:BIT 
20.
if exist %windir%\SysWOW64\NUL goto X64 else goto X32 
21.
 
22.
:X32 
23.
echo Sie haben %ver% 32bit 
24.
goto END 
25.
 
26.
:X64 
27.
echo Sie haben %ver% 64bit 
28.
goto END 
29.
 
30.
:END 
31.
pause 
32.
endlocal
LG
Edit: Was die "^" und das "/p" da zu suchen haben kA Set /p erfordert nen Prompt und ^ liefert invalid get expression...
Bitte warten ..
Mitglied: DerSchorsch
28.12.2009 um 13:31 Uhr
Hallo,

versuchs mal damit:
01.
@echo off 
02.
setlocal 
03.
wmic path win32_operatingsystem get caption|FINDSTR /C:"Windows 7" && goto WIN7 
04.
wmic path win32_operatingsystem get caption|FINDSTR /C:"Windows Vista" && goto WINVI 
05.
wmic path win32_operatingsystem get caption|FINDSTR /C:"Windows XP" && goto WINXP 
06.
cls 
07.
:WIN7 
08.
set osver="Windows 7" 
09.
goto TEST 
10.
:WINVI 
11.
set osver="Windows Vista" 
12.
goto TEST 
13.
:WINXP 
14.
set osver="Windows XP" 
15.
goto TEST 
16.
:TEST 
17.
if exist %windir%\SysWOW64\NUL goto X64 else goto X32 
18.
:X32 
19.
echo Sie haben %osver% 32bit 
20.
goto ENDE 
21.
:X64 
22.
echo Sie haben %osver% 64bit 
23.
goto ENDE 
24.
:ENDE 
25.
pause 
26.
endlocal
Das ^ vor der Pipe | gehört da nicht hin.
findstr "Windows XP" sucht nach Windows oder XP, bei dem Parameter /C: muss die Zeichenfolge komplett stimmen.
set /p wartet auf einen Prompt
und %ver% ist vom Betriebssystem schon belegt (geht aber, da du mit setlocal arbeitest) Edit: Sorry, ver ist ein Befehl, keine Variable
zu einem setlocal gehört auch ein endlocal

Gruß,
Schorsch
Bitte warten ..
Mitglied: rubberman
28.12.2009 um 13:36 Uhr
Hallo Sp33dy,

habe das ganze nicht getestet, aber was auffällt ist folgendes:
01.
wmic path win32_operatingsystem get caption^|FINDSTR "Windows 7" && goto WIN7
So sieht es bei dir aus.
- Die Maskierung der Pipe außerhalb einer FOR Schleife ist Unsinnn.
- Bei FINDSTR wird zudem nach Windows ODER 7 gesucht.
Also ändere die entsprechenden Zeilen erst mal in der Form ab:
01.
wmic path win32_operatingsystem get caption|FINDSTR /c:"Windows 7" && goto WIN7
Grüße
rubberman

<EDIT>
Moin DerSchorsch und Xaero1982, da wollten wir uns wohl gegenseitig überholen
</EDIT>
Bitte warten ..
Mitglied: Sp33dy
28.12.2009 um 13:44 Uhr
Danke euch allen

Wäre wohl nicht so schnell darauf gekommen^^
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch bestimme Zeile einer vorherigen batch einfügen
Frage von FrenscheBatch & Shell9 Kommentare

Hallo ich möchte eine Batch erstellen, in der ein Befehl ausgeführt wird und von dort aus eine bestimmte Zeile ...

Batch & Shell
Batch. Die erste Zeile bei CSV Ausgabe händisch bestimmen
gelöst Frage von BatchAnfaenger91Batch & Shell2 Kommentare

Hallo ihr Lieben, ich arbeite seit neusten mit Batch und habe gemerkt das es garnicht so schwer ist wenn ...

Windows Tools
Netzwerkkarte pro Software bestimmen
Frage von SirTobi27Windows Tools19 Kommentare

Hallo zusammen, ich habe zwei Netzwerkkarten in einem PC. Diese befinden sich logischerweise in unterschiedlichen Netzwerken. Gibt es ein ...

Netzwerke
Supernetz (Netzadresse und Netzmaske bestimmen)
gelöst Frage von BaumKoNetzwerke6 Kommentare

Hallo, Ich soll die Netzadresse und Netzmaske bestimmen. Ein Kollege hat die Aufgabe gelöst und mir geschickt aber was ...

Neue Wissensbeiträge
Microsoft

Update KB4073578 für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 5 StundenMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update KB4073578 ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 18 StundenMac OS X3 Kommentare

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 1 TagDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 1 TagWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell25 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1019 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen18 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...