Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Hilfe zu findstr bei win xp

Frage Entwicklung Batch & Shell

Mitglied: Dpole86

Dpole86 (Level 1) - Jetzt verbinden

13.11.2013 um 09:27 Uhr, 1384 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Mal eine neue Art von Abfrage mit findstr (8)

Frage von DaTobsn zum Thema Batch & Shell ...

Windows Tools
gelöst Findstr und regex (5)

Frage von tobmes zum Thema Windows Tools ...

Batch & Shell
gelöst Dateinamen mittels findstr aus einer TXT auslesehen (14)

Frage von Diamond72 zum Thema Batch & Shell ...

Batch & Shell
gelöst Findstr - code für schwieriger Abfrage gesucht (9)

Frage von reissaus73 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Link: Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...