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, 5761 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
Apple

Apple aktualisiert MacBook Pro, mit bis zu sechs Kernen

Information von Vision2015 vor 2 TagenApple

Jawohlchen das Warten hat sich gelohnt :-) Apple aktualisiert MacBook Pro Frank

Verschlüsselung & Zertifikate

In-place Upgrade verschlüsselter Windows-Systeme mittels reflectdrivers

Tipp von DerWoWusste vor 3 TagenVerschlüsselung & Zertifikate1 Kommentar

Hinter diesem sperrigen Titel verbirgt sich die Info, dass offenbar seit Win10 v1607 im Windows-Setup (setup.exe der CD/des USB-Sticks) ...

Instant Messaging
Ejabberd auf ubuntu
Anleitung von horstvogel vor 4 TagenInstant Messaging

Anliegend erstelle ich eine Anleitung für die Installation eines ejabberd auf einem Ubuntu Server. Die Anleitung ist derzeit noch ...

Windows Server

Fehler in MMC "Zertifizierungsstelle" - Hieroglyphen

Tipp von emeriks vor 4 TagenWindows Server2 Kommentare

Hi, nichts weltbewegendes, nur als Info für Euch. Bin eben drüber gestolpert: Setup 1x Windows Server 2016 Datacenter Core ...

Heiß diskutierte Inhalte
Microsoft
Dringend: Nach neustart kein zugriff mehr per RDP möglich - vermutlich wegen gelöschter SID in AD
Frage von sven784230Microsoft20 Kommentare

Hallo zusammen, gerade hat ein Server 2012 (terminalserver + Active directory) einen geplanten Neustart durchgeführt, wenn ich mich jetzt ...

Hardware
Alte Hardware verkaufen
Frage von Lebowski23Hardware19 Kommentare

Hallo, durch größere Umbauten haben einiges an Hardware "rumliegen", die wir vielleicht noch verkaufen wollen. Es sind so ca. ...

Exchange Server
Exchange 2013 - Update schlägt fehlt
Frage von chb1982Exchange Server18 Kommentare

Hallo zusammen, kann sich jemand einen Reim auf die unten stehenden Fehlermeldung machen? Sie tritt auf beim Update von ...

Windows Server
Active Directory Probleme DC sieht sich nicht selbst als DC DNS Fehler?
Frage von Cisco7971Windows Server12 Kommentare

Moin zusammen, Angefangen hat die Suche damit, dass der Anmeldedienst immer angehalten wird, bei einem Neustart des DC. nach ...