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
GELÖST

Hilfe zu findstr bei win xp

Frage Entwicklung Batch & Shell

Mitglied: Dpole86

Dpole86 (Level 1) - Jetzt verbinden

13.11.2013 um 09:27 Uhr, 1354 Aufrufe, 6 Kommentare, 2 Danke

Hallo zusammen

Ich habe hier ein kleines Problem wo ich nicht weiterkomme.

Ich versuche die Version des Installierten Mozilla Programms in einer For-Schleife auszulesen.

Mein code sieht bisher so aus:

echo on

set "RegKey=HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox"


for /f "tokens=3" %%a in ('reg query "%RegKey%" /s ^| findstr /i /r /C:"^ * Description"') do (
set "Moz-Version=%%a"
)

echo >> C:\FTP\%Moz-Version%.txt

pause

Leider bekomme ich nur das 1ste Wort aus der Registry nicht den kompletten key.
Ich bekomme somit nur: Mozilla.txt
der Pfad allerdings lautet Mozilla Firefox 25.0 (x86')

Wie kriege ich es hin, dass ich die komplette Zeile angezeigt bekomme?

Danke und Grüße

D_pole86
Mitglied: colinardo
13.11.2013, aktualisiert um 09:49 Uhr
Hallo D_pole86,
guckst du hier
01.
for /f "tokens=3*" %%a in ('reg query "%RegKey%" /s ^| findstr /i /r /C:"^ * Description"') do ( 
02.
  set "Moz-Version=%%a %%b" 
03.
)
Grüße Uwe
Bitte warten ..
Mitglied: Dpole86
13.11.2013 um 10:11 Uhr
Zitat von colinardo:
Hallo D_pole86,
guckst du hier
01.
> for /f "tokens=3*" %%a in ('reg query "%RegKey%" /s ^| findstr /i /r /C:"^ * 
02.
> Description"') do ( 
03.
>   set "Moz-Version=%%a %%b" 
04.
> ) 
05.
> 
Grüße Uwe


Hi Uwe

Danke für deine schnelle Antwort.

Irgendwie funktioniert der Code aber nicht?

ich bekomme nun als ausgabe folgendes:

C:\Documents and Settings\ADMRD\Desktop>echo Firefox 25.0 (x86 de).txt 1>>C:\FTP\Mozilla

Er macht mir also eine Datei namens Mozilla mit dem inhalt "Firefox 25.0 (x86 de).txt"
Die Ausgabe lautet bei mir echo >> C:\FTP\%Moz-Version%.txt

Wo ist mein Fehler ?

Grüße und Danke
D_pole86
Bitte warten ..
Mitglied: colinardo
13.11.2013, aktualisiert um 10:17 Uhr
du musst die Ausgabe-Pfad wegen den Leerzeichen im Namen in Anführungszeichen setzen
01.
echo >>"C:\FTP\%Moz-Version%.txt"
Grüße Uwe
Bitte warten ..
Mitglied: Dpole86
13.11.2013 um 10:26 Uhr
Zitat von colinardo:
du musst die Ausgabe-Pfad wegen den Leerzeichen im Namen in Anführungszeichen setzen
01.
> echo >>"C:\FTP\%Moz-Version%.txt" 
02.
> 
Grüße Uwe


Hi Danke :D

Kurz zum Verständnis:

mit leerzeichen im Namen meinst du die "%%a %%b" ?
Warum benutzt man in dem Fall nur 2 Variablen? kann ich das auf eine x-beliebige länge an text nutzen?
Was sagt man mit dem Tokens=3* aus? also der Stern gibt doch eine Schleife an oder? heist das ich lese den "Token=3" solange aus bis ich das Ende erreicht habe?

Sorry für die Fragen aber es interressiert mich wirklich sehr :D

Grüße Roman
Bitte warten ..
Mitglied: colinardo
13.11.2013, aktualisiert um 10:39 Uhr
mit leerzeichen im Namen meinst du die "%%a %%b" ?
ja, ich meine damit die Leerzeichen in dem Namen den du aus der Registry ausliest, wenn du diesen in einem Pfad nutzen willst und der Name eben Leerzeichen beinhaltet muss man den Pfad immer mit Anführungszeichen einschließen!

Also mit dem "tokens=3*" sagst du das er der Variablen %%a den dritten Split-Part zuweisen soll und der Variablen %%b den ganzen Rest der Zeile. Du könntest dies auch so schreiben: "tokens=3,*".

Ein weiteres Beispiel:
Wir haben folgenden String:
Hallo mein Name ist Max und mein Nachname Mustermann
Bei "tokens=1-3,*" sähe die Verteilung folgendermaßen aus:
  • %%a = Hallo
  • %%b = mein
  • %%c = Name
  • %%d = ist Max und mein Nachname Mustermann

Hoffe das war verständlich ausgedrückt.

Grüße Uwe
Bitte warten ..
Mitglied: Dpole86
13.11.2013 um 11:09 Uhr
Zitat von colinardo:
> mit leerzeichen im Namen meinst du die "%%a %%b" ?
ja, ich meine damit die Leerzeichen in dem Namen den du aus der Registry ausliest, wenn du diesen in einem Pfad nutzen willst und
der Name eben Leerzeichen beinhaltet muss man den Pfad immer mit Anführungszeichen einschließen!

Also mit dem "tokens=3*" sagst du das er der Variablen %%a den dritten Split-Part zuweisen soll und der
Variablen %%b den ganzen Rest der Zeile. Du könntest dies auch so schreiben: "tokens=3,*".

Ein weiteres Beispiel:
Wir haben folgenden String:
> Hallo mein Name ist Max und mein Nachname Mustermann 
> 
Bei "tokens=1-3,*" sähe die Verteilung folgendermaßen aus:
  • %%a = Hallo
  • %%b = mein
  • %%c = Name
  • %%d = ist Max und mein Nachname Mustermann

Hoffe das war verständlich ausgedrückt.

Grüße Uwe


Perfekt :D ich danke dir vielmals :D
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows XP
gelöst Suche Win XP Home Premium ISO Datei (7)

Frage von Stefan007 zum Thema Windows XP ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Installation
gelöst 1:1 Kopie einer bootfähigen CF-Card mit Win embedded (7)

Frage von ben1310 zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...