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 Ausgabe von FOR Schleife umleiten (zB zu more)

Mitglied: simba

simba (Level 1) - Jetzt verbinden

14.06.2006, aktualisiert 17.06.2006, 5757 Aufrufe, 5 Kommentare

Das DO von FOR nimmt immer den gesamten Rest der Zeile als Befehl zB:
FOR /F %i IN ('dir *.extension /b /s') DO find /N "seachString" %i | more
will nicht tun.

Also was ich genau machen möchte ist wie in dem Bspl im Untertitel:

FOR /F %i IN ('dir *.extension /b /s') DO find /N "seachString" %i | more

Suche nach einem String in allen Dateien die mit dem dir Befehl gefunden werden und die Ausgabe dann an more weiterzureichen, da sie ggf. recht lang werden kann und man dann nicht mehr viel damit anfangen kann :D

Wie bekomm ich das hin?

Hab mir https://www.administrator.de/Errormessage_innerhalb_einer_FOR_Schleife_i ... schon angeguckt, aber irgendiwe ist mir das Licht nicht aufgegangen.

Danke schon mal im voraus.


gruss
simba
Mitglied: Dani
14.06.2006 um 19:18 Uhr
Hi,
probier es mal mit diesen Zeilen:
01.
@echo off 
02.
FOR /F %%i IN ('dir /s /b "*.txt"') DO find /N "das" %%i | more 

Gruß
Dani
Bitte warten ..
Mitglied: Biber
15.06.2006 um 09:34 Uhr
Moin Simba,

in diesem Fall ist die Lösung über eine FOR..IN..DO..Anweisung aufwändiger (obwohl ich dafür natürlich auch eine Lösung posten könnte).

Mach es in diesem Fall so:
(Beispiel vom CMD-Prompt)
findstr /i /n "searchstr" *.extension
[Output]Beispiel.extension:17:hier ist ein searchstr

Und da ggf. noch ein "|more" dahintersetzen.

Gruß
Biber
Bitte warten ..
Mitglied: simba
16.06.2006 um 05:12 Uhr
Hi,
probier es mal mit diesen Zeilen:
01.
> @echo off 
02.
> FOR /F %%i IN ('dir /s /b "*.txt"') DO find /N "das" %%i | more  
03.
> 

Gruß
Dani

Moin,
hmm so wie ich das sehe ist das genau meine Verison nur für ein batch file und nicht konsole, aber danke trotzdem. Leider funktioniert es so nicht For ruft eben das " | more" jedes mal mit auf. Ich würde aber gerne den gesamten output blättern.
Naja ein & pause anstatt | more tut zwar auch was in der Art aber ist nicht wirklich schön ;)
alles vorher mit >> temp.temp.temp in eine Datei zu schrieben und dann type temp.temp.temp | more ginge aber ist (zumindest mir) nicht in einer Zeile in der konsole möglich.
Daher mit (Achtung untestet :D )
01.
@echo off 
02.
If EXIST temp.temp.temp GOTO BadEnd 
03.
FOR /F %%i IN ('dir /b /s *.extension') Do find /N "searchString" %%i >> temp.temp.temp 
04.
type temp.temp.temp | more 
05.
del temp.temp.temp 
06.
 
07.
GOTO End 
08.
:BadEnd 
09.
echo "temp.temp.temp existiert, ich will nichts ueberschrieben, also verfruehtes Ende" 
10.
echo "temp.temp.temp loeschen und neu ausfuehren, damits geht. Danke" 
11.
:End 
12.
pause
würde es gehen, aber nicht von der Konsole.


Moin Simba,

in diesem Fall ist die Lösung über
eine FOR..IN..DO..Anweisung aufwändiger
(obwohl ich dafür natürlich auch
eine Lösung posten könnte).

Mach es in diesem Fall so:
(Beispiel vom CMD-Prompt)
findstr /i /n "searchstr"
*.extension
[Output]Beispiel.extension:17:hier ist ein
searchstr

Und da ggf. noch ein "|more"
dahintersetzen.

Gruß
Biber

Hmmm,
was soll ich dazu sagen, die Lösung ist viel zu schön einfach :D Danke!

btw ich hab den Eindruck, dass findstr nicht rekursiv in Unterordnern sucht.
shame on me, aber bin gerade zu faul zum Testen -.-

Aber da du ja noch eine Lösung parat hast für die andere Version mit FOR über find würde die mich schon interessieren. Will vor allem wissen, ob du es über eine temporäre Datei machen würdest, das ist das einzige was mir dazu noch eingefallen ist.


cheers
gimmegimme
Bitte warten ..
Mitglied: Biber
16.06.2006 um 09:59 Uhr
Moin simba,

1) Findstr sucht auch in Unterverzeichnissen mit Parameter /s
Beispiel:
Findstr /i /n /s "Server" c:\*.txt

2) Meine Variante zum Wort-Finden in Textdateien:
01.
::-- snipp Wordfind.bat 
02.
:: einfacher Batchdreizeiler zum Suchen eines Strings in Dateien. 
03.
:: Usage: Batch irgendwo in den Pfad stellen.  
04.
:: Aufruf: Wordfind [Dateimaske] [Suchwort] 
05.
::        -Beispiel: Wordfind d:\temp\*.txt "biber" 
06.
:: !! Skizze: ohne Parameterprüfung, Help, etc. 
07.
@Echo off  
08.
If Not [%1]==[___]  (%0 ___ %1|find /i %2) & goto :eof 
09.
Setlocal EnableDelayedExpansion 
10.
for %%i in (%2) do ( 
11.
     Set /a "Line=10000" 
12.
     For /F "delims=" %%a In (%%i) Do ( 
13.
         Set /a "Line=!line! +1" 
14.
         Set cl=!line:~-3! 
15.
         echo [%%i:!cl!] %%a 
16.
     ))  
17.
::-- snapp Wordfind.bat
Beispiel-Output mit Dateinagabe und Zeilennummer:
wordfind d:\temp\*.txt "biber"
[d:\temp\TEmp-Dokument.txt:015] HTH Biber
[d:\temp\test1.txt:015] HTH Biber
[d:\temp\test2.txt:018] HTH Biber
[d:\temp\test2.txt:050] HTH Biber

Gruß Biber
P.S. In der "IF NOT [..]..." -Zeile kann natürlich auch noch ein "|more" angehängt werden.
Ebenso aber auch beim Aufruf selbst ( WordFind *.txt "bla" |more ).
Bitte warten ..
Mitglied: simba
17.06.2006 um 17:16 Uhr
Moin Biber

hab Tomaten auf den Augen gehabt :D

hab mir help findstr angeguckt aber /s überlesen gehabt :D, ansich das standard dazu in Win ~~

dein Wordfind übersteigt meine Batchkenntnisse -.-, sieht aber aber nett aus. Wennde Lust und Zeit hast kannste das ja mal ein wenig kommentieren, was in den Zeilen passiert, aber ich könnte mir natürlich auch einfach ein wenig die Batch language specs angucken.

Danke erstmal für eure Hilfen, werds als gelöst markieren, auch wenn ich immernoch nicht weiß wie ich For find in der Kommandozeile auf more weiterleite, aufgrund der doch recht unständlichen Methoden geh ich einfach mal davon aus, dass es nicht geht (°o°).


Danke nochmal

Gruß
simba


edit verdammt, hab deinen (Biber's) ersten beitrag 5* markiert wollte eigentlich den 2ten, aber was solls.


edit2 Juhuuuuuu

Die Lösung ist viel zu leicht gewesen, kein wunder, dass es keinem eingefallen ist :D

01.
c:\[Path to seach root]\> @echo off & ((For /F %i In ('dir /s /b "[Match]"') Do find /N "seachString" %i) | more) & @echo on
hehe eine Klammer vor FOR und eine vor dem | Schaeffer Strich schon tut das wie es soll :D
Bitte warten ..
Ähnliche Inhalte
Linux
Ps Ausgabe in Datei umleiten
gelöst Frage von Matze1508Linux3 Kommentare

Hallo Zusammen, ich kann mir mit dem Befehl: ps -fC java einen output auf die Konsole ausgeben lassen. Allerdings ...

Batch & Shell

Ausgabe von in einer Batchdatei aufgerufenen Programmen in ein Logfile umleiten

gelöst Frage von erbertBBatch & Shell1 Kommentar

Hallo zusammen, ich grüble jetzt schon seit einiger Zeit über ein Problem finde aber keine Lösung vielleicht weiß jemand ...

Linux

Find Ausgabe in formatierte text Datei umleiten

gelöst Frage von MadM4xLinux5 Kommentare

Nabend, lese mich gerade ein wenig im Umgang mit dem Find Befehl ein und bräucht mal Hilfe. Und zwar ...

Batch & Shell

Meldungen in FOR f Schleife nach NUL umleiten

gelöst Frage von anmelderBatch & Shell4 Kommentare

Hallo, dieser Code gibt mir aus ob ein Flashspeicher vorliegt und gelöscht oder formatiert werden soll: Wenn kein Flashspeicher ...

Neue Wissensbeiträge
Voice over IP

Rufnummernblock aufbrechen nun möglich bei DTAG

Tipp von Datenreise vor 11 MinutenVoice over IP

Bei der Telekom ist es seit einigen Tagen laut Aussage der Geschäftskunden-Hotline möglich, eine Rufnummernübernahme auch dann durchzuführen, wenn ...

Netzwerke
Riesiges Botnetz in Deutschland
Tipp von FFSephiroth vor 1 StundeNetzwerke1 Kommentar

Überprüft mal eure Router und NAS

Soziale Netzwerke

Freitag, der 25.05 - Facebook baut weltgrößtes P.ähm Antip.archiv der Welt auf

Information von certifiedit.net vor 3 StundenSoziale Netzwerke1 Kommentar

Guten Morgen, da fragt man sich doch allen ernstes, was Facebook damit bezwecken möchte, ich tippe ja darauf, dass ...

Erkennung und -Abwehr

VPNFilter Maleware - Großes Botnetz auf NAS und Routern in 54 Ländern aufgedeckt

Information von Frank vor 4 StundenErkennung und -Abwehr2 Kommentare

Nach Angaben von Cisco und der Sicherheitsfirma Talos wurde ein sehr großes Botnet auf Routern und NAS-System entdeckt. Die ...

Heiß diskutierte Inhalte
Datenschutz
E-Mail Verschlüsselung DSGVO 2018
gelöst Frage von SoccerdeluxDatenschutz33 Kommentare

Hallo zusammen, ich verzweifele langsam und wende mich an euch und hoffe vielleicht ein paar Antworten zu finden. Ich ...

HTML
Link nicht vollständig
Frage von jensgebkenHTML33 Kommentare

Hallo Gemeinschaft, ich erstelle mit Word einen Serienbrief, den ich per Mail versende. Nun mein Problem der Wordserienbrief holt ...

Rechtliche Fragen
DISKUSSION: Was bringt der Disclaimer "Wenn Sie nicht der Empfänger sind."
Frage von N8DragonRechtliche Fragen23 Kommentare

So oder ähnlich, lese ich immer wieder Kleingedrucktes am Ende diverser Mails. Letzten Endes wollen sie mir alle sagen, ...

Server-Hardware
HPE DL 360e GEN8 - P420 - Lüfter drehen auf nach Festplattenwechsel
Frage von maniacmacpainServer-Hardware20 Kommentare

Hallo, ich kenne den Effekt, dass man bei der GEN8 von HP ein Array eingerichtet haben muss, damit die ...