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

Batch - Probleme beim findstr, muss man das maskieren?

Frage Entwicklung Batch & Shell

Mitglied: bioperiodik

bioperiodik (Level 1) - Jetzt verbinden

29.07.2010, aktualisiert 14:10 Uhr, 6951 Aufrufe, 10 Kommentare

Guten Morgen an alle,

Ich bin gerade dabei die Proxyeinstellungen unserer Clients auszulesen, für den IE ist das ja auch kein problem, allerdings bereitet mir das ganze bei Mozilla Firefox einige Probleme.

Die Proxyeinstellungen von Firefox sind in der Datei %USERPROFILE%\Anwendungsdaten\Mozilla\Firefox\Profiles\* unter prefs.js gespeichert.

Ich bin jetzt soweit das ich die prefs.js in eine Variable speicher und diese dann auswerten will.

Dafür benutze ich folgende Zeilen:
01.
set ausgabe="C:\Freigabe\prefs.txt" 
02.
 
03.
@for /F "tokens=2 delims= " %%i in ('type %ausgabe% ^| findstr /i "proxy.http"') do set "var=%%i" 
04.
 
05.
echo %var% 
06.
 
als Ausgabe erhalte ich jetzt allerdings einmal die IP und einmal den Port, ich hätte allerdings gerne nur die IP.

Darum würde ich gernen nach "network.proxy.http" suchen.
Das funktionier aber nicht, weil er scheinbar Probleme mit den "" hat. Muss ich diese ausmaskieren? Wenn ja wie?

Oder kennt von euch jemand einen einfacheren Weg das ganze zu bewerkstellingen?

Danke im Vorraus
MfG Sebastian
Mitglied: paulepank
29.07.2010 um 09:42 Uhr
Hallo Sebastian,

Das funktionier aber nicht, weil
Für diese Fehlerbeschreibung kannst du dich schon mal grinsend zurücklehnen.
Damit hast du deinen Teil zur Lösung deines Problems getan.

Falls hier jemand fragt, welche Ausgabe die Batch dir mitteilt, betrachte die Frage als reine Provokation.

Ob "proxy.http" oder "network.proxy.http" ist scheißegal. Das Suchergebnis ist immer gleich.
Also suche z.B. nach "http_port" und schon hast das gewünschte.

TIP1: der Feldtrenner Leerzeichen ist Standard und muß nicht extra angegeben werden.
TIP2: sollten dich die Klammer und das Semikolon in %var% auch noch stören, ein
01.
echo %var:~0,-2%
ist hier hilfreich.

cu paulepank
Bitte warten ..
Mitglied: bioperiodik
29.07.2010 um 11:46 Uhr
Hallo paulepank,

Danke für die Antwort!

Es gibt keine Ausgabe, die Batch wird einfach geschlossen.

Ich denke ich hab mein Problem schon deutlich geschildert, ist wohl falsch rübergekommen:

Momentan such ich nur nach proxy.http, ich will aber nach "network.proxy.http" suchen.

im code würde das dann so aussehen:

bisher:
01.
@for /F "tokens=2 delims= " %%i in ('type %ausgabe% ^| findstr /i "proxy.http"') do set "var=%%i" 
ich will aber das hier suchen:
01.
@for /F "tokens=2 delims= " %%i in ('type %ausgabe% ^| findstr /i ""network.proxy.http""') do set "var=%%i" 
aber offenbar hat er ein Problem mit den "" im findstr, darum die Frage ob ich da etwas maskieren muss bzw. ob das überhaupt funktioniert.
Bitte warten ..
Mitglied: Biber
29.07.2010 um 12:15 Uhr
Moin bioperodik,

vielleicht beantwortet das deine Frage bzw. deine richtige Vermutung:
[Anmerkung: Demo am CMD-Prompt. das ">" am Anfang einer Zeile NICHT mit eingeben, das ist die 2.Zeile meines Prompts.]
01.
(=12:12:18  D:\temp=) 
02.
>echo "Test1">d:\temp\test4findstr.txt 
03.
 
04.
(=12:12:36  D:\temp=) 
05.
>echo Test1 ohne Anführungszeichen>>d:\temp\test4findstr.txt 
06.
 
07.
(=12:12:47  D:\temp=) 
08.
>findstr /i "Test1" test4findstr.txt 
09.
"Test1" 
10.
Test1 ohne Anführungszeichen 
11.
 
12.
## beide Zeilen werden ausgegeben - nicht erwünschtes Resultat 
13.
 
14.
 
15.
(=12:12:52  D:\temp=) 
16.
>findstr /i ""Test1"" test4findstr.txt 
17.
"Test1" 
18.
Test1 ohne Anführungszeichen 
19.
 
20.
## beide Zeilen werden ausgegeben - nicht erwünschtes Resultat 
21.
 
22.
 
23.
(=12:13:00  D:\temp=) 
24.
>findstr /i "\"Test1\"" test4findstr.txt 
25.
"Test1" 
26.
 
27.
## nur Zeile "Test" (in Anführungszeichen) wird ausgegeben
Die letzte FindStr-Variante wäre für dich die richtige.

Grüße
Biber
Bitte warten ..
Mitglied: paulepank
29.07.2010 um 13:14 Uhr
Hallo,
Es gibt keine Ausgabe, die Batch wird einfach geschlossen.
Dann solltest du die Batch in der cmd starten um etwas zu sehen und / oder den Befehl pause einfügen und das @ entfernen.

Selbst wenn ich die Zeile so eingebe, wie du es geschrieben hast findet die korrekte Ausgabe statt.
Ich geh jetzt mal davon aus, daß die prefs.txt inhaltlich gleich der prefs.js ist.
Der Begriff wird immer gefunden. Das Problem liegt m.E. woanders

@Biber
hier muß nichts maskiert werden.

cu paulepank
Bitte warten ..
Mitglied: paulepank
29.07.2010 um 13:22 Uhr
Beispiel:
Inhalt von prefs.txt
...
user_pref("network.proxy.http", "ich.bin.der.proxy");
user_pref("network.proxy.http_port", 4711);
...

01.
set ausgabe="d:\prefs.txt" 
02.
for /F "tokens=2 delims= " %%i in ('type %ausgabe% ^| findstr /i ""network.proxy.http""') do set "var=%%i" 
03.
echo %var:~0,-2% 
04.
pause
Ausgabe:
C:\>set "var="ich.bin.der.proxy");"
C:\>set "var=4711);"
C:\>echo 4711
4711
C:\>pause
Drücken Sie eine beliebige Taste . . .


cu paulepank
Bitte warten ..
Mitglied: bioperiodik
29.07.2010 um 13:25 Uhr
Danke Biber und paulepank für eure Hilfe!

Der Tipp von Biber hat geholfe, wenn ich die " mit \" maskier läuft es problemlos :D

Danke an paulepank für den Tipp mit echo %var:~0,-2%

Die Batch macht jetzt genau was ich will!

Hier nochmal der Vollständige Code um die Proxy IP aus Firefox auszulesen:

01.
 
02.
for /d %%i in ("%USERPROFILE%\Anwendungsdaten\Mozilla\Firefox\Profiles\*") do set "pfad=%%i" 
03.
echo %pfad% 
04.
set ausgabe="%pfad%\prefs.js" 
05.
@for /F "tokens=2 delims= " %%i in ('type %ausgabe% ^| findstr /i "\"network.proxy.http\""') do set "var=%%i" 
06.
echo %var:~1,-3% 
07.
 
Bitte warten ..
Mitglied: Biber
29.07.2010 um 13:27 Uhr
Moin paulepank,

doch.
01.
>findstr /i ""network.proxy.http"" prefs.txt 
02.
"network.proxy.http_port", 4711 
03.
"network.proxy.http", "ich.bin.der.proxy" 
04.
 
05.
(=13:25:37  D:\temp=) 
06.
>findstr /i "\"network.proxy.http"\" prefs.txt 
07.
"network.proxy.http", "ich.bin.der.proxy" 
08.
 
09.
(=13:25:47  D:\temp=)
Bei deiner Demo bleibt nach der FOR-Anweisung nur die LETZTE Zeile erhalten.
Dreh doch die Zeilen-Reihenfolge mal um in deiner prefs.txt...

Grüße
Biber
Bitte warten ..
Mitglied: paulepank
29.07.2010 um 13:38 Uhr
Hallo Biber,

jaein,
bei meinen Testdaten ist die Reihenfolge anders.
unabhängig davon werden beide Zeilen gefunden (auch ohne Maskierung), es wird nur die falsche ausgewertet.

Deshalb habe ich ja Eingangs geschrieben er soll gleich nach http_port suchen.
Dann ist es eindeutig auch ohne Maskierung und die Reihenfolge der Zeilen ist auch wurscht.

cu paulpank
Bitte warten ..
Mitglied: paulepank
29.07.2010 um 13:46 Uhr
Hallo,

auch wenn schon gelöst:

Zitat oben:
ich hätte allerdings gerne nur den Port.
Zitat drüber:
Hier nochmal der Vollständige Code um die Proxy IP aus Firefox auszulesen

ja, was wolltest du jetzt ?
Bitte warten ..
Mitglied: bioperiodik
29.07.2010 um 14:11 Uhr
Servus,

Oh, dass ist mir garnicht aufgefallen! War wohl ein Flüchtigkeitsfehler!

Ich will die IP, sonst hätte der Code ja funktioniert Sorry!!!

Jetzt läuft das Ganze auf jedenfall einwandfrei und es werden die Proxy-IPs unsrer Clienten ausgelesen!

Danke nochmal für die Hilfe!
Und sorry für die Verwirrung *schäm*
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In Batch FINDSTR in Variable und auch noch kuerzen
gelöst Frage von deathwormBatch & Shell2 Kommentare

Hallo! Ich habe folgendes Problem. Beim verschluesseln von Festplatten wird ein Key generiert und dieser in eine TXT Datei ...

Batch & Shell
Batch: for + dir + findstr
gelöst Frage von .SesslBatch & Shell2 Kommentare

Hallo zusammen, ich hab mal wieder ein 'ernstes' Problem, bei dem ich nicht wirklich weiter weiß und das Internet ...

Batch & Shell
Batch: findstr mit Option "weder noch"
Frage von ole-objektBatch & Shell4 Kommentare

Hallo, ich habe eine batch, mit der ich alle Zeilen, die einem bestimmten Filterkriterium aus einer (bzw. mehreren) Datei(en) ...

Batch & Shell
Batch mit Ausnahme bei FINDSTR
Frage von skywalker28Batch & Shell6 Kommentare

Hallo zusammen, ich bin beim Erstellen meiner Batch-Datei als Anfänger mit Hilfe dieses Forums schon recht nah am Ziel, ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 3 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 6 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 6 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 10 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...