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, 5834 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
Windows Server
1KB Dateien zB 0A43F2AB4D66 überall
gelöst Frage von Freak-On-SiliconWindows Server20 Kommentare

Hallo; Sorry für den eigenartigen Titel, kanns aber nicht anders beschreiben. Bilder sagen mehr als 1000 Worte. (im Anhang) ...

CPU, RAM, Mainboards
UEFI Boot mit zB. Hirens Boot CD
gelöst Frage von Fruehling2017CPU, RAM, Mainboards33 Kommentare

Hi. Ich habe hier ein altes WIN8 Notebook mit UEFI Bios, was eine defekte Platte hat. Jetzt wollte ich ...

TK-Netze & Geräte

Einzelne Rufnummer (zb. Faxnummer) zu Simple Fax umziehen?

Frage von isarc01TK-Netze & Geräte1 Kommentar

Hallo! weiß jemand, ob Möglichkeit besteht, einzelne Rufnummer aus einem Vertrag zu einem Anbieter wie Simple-Fax zu wechseln? Problem ...

DNS

Proxy oder DNS Server einstellungen für zb. Jungendschutz

gelöst Frage von NordTecDNS5 Kommentare

Hi leute, meine Frage bezieht sich auf Sicherheits Konfigs für den Kinderschutz im Web. Dass es Proxy lösungen wie ...

Neue Wissensbeiträge
Verschlüsselung & Zertifikate

Extended Validation Certificates are (Really, Really) Dead

Information von Dani vor 7 StundenVerschlüsselung & Zertifikate

Moin all, sehr interessanter Artikel zu EV SSL/TLS- Zertifikate von Troy Hunt: Gruß, Dani

Humor (lol)
Das IoT wird schlimmer
Erfahrungsbericht von Henere vor 2 TagenHumor (lol)8 Kommentare

Nun auch schon über den WSUS:

Sicherheit

Win10 1809 und höher erlauben nun das Sperren und Whitelisten von bestimmten Geräten

Tipp von DerWoWusste vor 3 TagenSicherheit1 Kommentar

Vor 1809 konnten nur Geräteklassen gesperrt werden, nun können endlich einzelne Device instance IDs gewhitelistet werden (oder andersherum: gesperrt ...

Windows 10

Hands-On: What is new in the Windows 10 November 2019 Update?

Information von DerWoWusste vor 3 TagenWindows 10

Die wenigen (aber zum Teil interessanten) Neuheiten werden in diesem Video sehr schnell erklärt und vorgeführt.

Heiß diskutierte Inhalte
Mac OS X
Mac Startfehler: Too many corpses created
Frage von winlinMac OS X23 Kommentare

Seit meinem letzten update komme ich nach der Anmeldung nixht mehr weiter. Der Fortschrittsbalken nach der Anmeldung geht bis ...

Netzwerke
Subnetzmaske mit Hilfe der IP-Adresse berechnen
gelöst Frage von Jennifer21Netzwerke22 Kommentare

Hi zusammen, kann mir bitte jemand helfen bei dieser Aufgabe. Ich muss die die Subnetzsmaske berechnen von den IP-Adressen: ...

Exchange Server
Exchange 2016 550 5.7.60 SMTP Client does not have permissions to send
Frage von kermit-elmoExchange Server17 Kommentare

Hallo, ich möchte für bestimmte Mitarbeiter einen IMAP Zugang zum Firmen internen Exchange 2016 bereitstellen. Ein paar verwenden Linux ...

Windows 10
3D PDF bei WIN 10 mit Adobe Acrobat DC öffnen
Frage von DysfunktionWindows 1016 Kommentare

Hallo zusammen, Aus einem Konstruktionsprogramm ( Catia ) kann man Zeichnungen als 3 d PDF exportieren. Diese werden lokal ...