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

Eigenheiten von FINDSTR

Frage Entwicklung Batch & Shell

Mitglied: connecthor

connecthor (Level 1) - Jetzt verbinden

10.05.2010, aktualisiert 15:56 Uhr, 6188 Aufrufe, 6 Kommentare

ich habe ein problemchen mit dem FINDSTR. gibt es ne möglichkeit eine längere zeichenfolge zu vergleichen, die sonderzeichen enthält??

mein script soweit:

set "von=pref("mailnews.database.global.indexer.enabled", true);"
set "wo=c:\test\all-thunderbird.js"
findstr /C:"von" "%wo%"&& goto exit

kann es sein, dass ich was falsch mache mit der behandlung der anführungszeichen???

Bastla gab mir folgendes beispiel:


Versuch es mit folgender Schreibweise:
set "von=pref(\"mailnews\.database\.global\.indexer\.enabled\", true);"


kommt FINDSTR nicht mit sonderzeichen klar?? ich habe jetzt die sonderzeichen (" mit . ersetzt. das läuft soweit. sieht aber komisch aus.

bitte um weitere vorschläge.

Danke
Mitglied: bastla
10.05.2010 um 16:12 Uhr
Auch Dir kein "Hallo" ...

Hast Du es schon mit einer richtigen Variablenschreibweise versucht?
findstr /C:"%von%" "%wo%"&& goto exit 
bastla
Bitte warten ..
Mitglied: connecthor
11.05.2010 um 10:26 Uhr
sorry..

dann "doppeltes" HALLO

ja, ist mir ein fehler beim kopieren unterlaufen, da ich ca 1 milliarde testscripts habe


natürlich habe ich das "von" mit "%von%" probiert...
Bitte warten ..
Mitglied: Biber
12.05.2010 um 16:29 Uhr
Moin connecthor,

ist ein bisschen schwierig, deinen Fehler einzugrenzen ohne weitere Details..

Ein proof-of-concept von bastlas Vorschlägen am CMD-Prompt führt jedenfalls - wie zu erwarten war - zum Erfolg.
01.
>set "wo=d:\temp\testprefs.txt" 
02.
 
03.
>set "von=pref(\"mailnews.database.global.indexer.enabled\", true);" 
04.
 
05.
>findstr /n /C:"%von%" "%wo%" 
06.
5:set "von=pref("mailnews.database.global.indexer.enabled", true);"
[ in der Datei "d:\temp\testprefs.txt" steht eine Copy & Paste-Kopie deines Beitrags; dein Suchstring wird in Zeile 5 gefunden]

Also bitte poste noch einmal
  • deinen Komplett-Batch in Code-Tags
  • und die Original-zu-findende-Suchzeile aus der c:\test\all-thunderbird.js [+je zwei Zeilen davor/danach] ebenfalls in Code-Tags
...denn dann muss dort ein Tippfehler drin sein.

es sei denn, du hast Recht und deine FindStr.exe ist kaputt....

Grüße
Biber
Bitte warten ..
Mitglied: connecthor
21.05.2010 um 19:02 Uhr
Hallo,
meine datei sieht jetzt SO aus

01.
@Echo off & SETLOCAL enabledelayedexpansion 
02.
title TB3 Indexer aus 
03.
cls 
04.
set /a Nr=99 
05.
set "pfad=c:\progies\pstools" 
06.
set "von=pref(.mailnews.database.global.indexer.enabled...true)." 
07.
set "Von1=pref("mailnews.database.global.indexer.enabled", true);" 
08.
 
09.
set "nach=pref("mailnews.database.global.indexer.enabled", false);" 
10.
 
11.
:loop 
12.
 
13.
set /a Nr+=1 
14.
if %nr%==1665 goto exit 
15.
set "wer=\\%Nr%\C$\Programme\Mozilla Thunderbird\defaults\pref\all-thunderbird.js" 
16.
ping -n 1 %Nr% >NUL 
17.
if %errorlevel%==1 echo Computer %Nr% ist aus!! 
18.
if %errorlevel%==1 goto loop 
19.
 
20.
if NOT EXIST "%wer%" goto loop 
21.
 
22.
findstr "%von%" "%wer%">NUL&& goto :do 
23.
 
24.
echo Rechner %Nr% hat kein TB3 oder die richtigen Einstellungen 
25.
 
26.
goto loop 
27.
 
28.
:do 
29.
if NOT EXIST c:\temp md c:\temp 
30.
set "t=c:\temp\text.tmp" 
31.
if exist "%t%" del "%t%" 
32.
 
33.
echo Bearbeite Rechner %Nr%!! 
34.
for /f "usebackq delims=" %%i in ("%wer%") do set "Line=%%i" & set Line=!Line:%von1%=%nach%! & echo !Line!>>"%t%" 
35.
move /y "%t%" "%wer%" 
36.
echo TB3 auf Rechner %Nr% geändert >> C:\PROGIES\txt\TB3.txt 
37.
goto loop 
38.
 
39.
:exit 
40.
exit
mir missfällt lediglich, dass die " im findstr mit der variable von zeile 6 (ich find noch raus wie man das hier darstellt) durch punkte ersetzt werden müssen, da der string sonst nicht gefunden wird.
welche sonderzeichen muss ich denn durch wildcards ersetzen? oder hebeln backslashes die sematik aus???

danke für eure zeit


[Edit Biber] Codetags ergänzt. [/Edit]
Bitte warten ..
Mitglied: bastla
21.05.2010 um 19:39 Uhr
Hallo connecthor!

Du kannst Dich also nicht zu
set "von=pref(\"mailnews\.database\.global\.indexer\.enabled\", true);"
entschließen?
welche sonderzeichen muss ich denn durch wildcards ersetzen?
Eigentlich keine - es gibt nur einige Zeichen (findest Du am Ende der Onlinehilfe "findstr /?"), die innerhalb von Suchstrings besondere Bedeutung haben und deshalb mit "\" maskiert werden müssen.

Außerdem zu beachten: Wenn im Suchstring Leerzeichen enthalten sind, benötigst Du "/c:", da ansonsten die durch die Leerzeichen getrennten Bestandteile jeweils als eigener (mit "oder" verknüpfter) Suchbegriff gelten ...

Grüße
bastla
Bitte warten ..
Mitglied: connecthor
25.05.2010 um 09:14 Uhr
GuMo Bastla,

vielen dank für deinen tipp.

dann muss ich ja die "."(punkte) nicht maskieren, da diese ja als wildcard dienen.

super, dann weiß ich wieder ein wenig mehr.

bis zum nächsten mal

THNX
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Findstr und regex
gelöst Frage von tobmesWindows Tools5 Kommentare

Hi Experten, ich habe ziemlich viele PDF-Dateien, die ich mittels eines Batch-Files nach einem Bestimmten Muster durchsuchen möchte. Die ...

Batch & Shell
Hilfe bei findstr reg expression
gelöst Frage von TheUntouchableBatch & Shell5 Kommentare

Hallo liebe Admins, ich bräuchte Hilfe beim erstellen einer reg expression mit findstr: Aus folgender Textdatei sollen nur die ...

Batch & Shell
Findstr stolpert über das UND Zeichen
Frage von RaidManBatch & Shell13 Kommentare

hallo und guten Abend, habe mir eine Batch datei gebaut zum umsortieren und korrigieren von Textdateien, das funktioniert auch ...

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 ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 15 MinutenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 30 MinutenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 12 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 19 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...