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, 5787 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) ...

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

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

Schulung & Training

Umfangreiche Handgeschriebene Texte per Spracheingabe zb. in WORD eingeben?

gelöst Frage von arsmagicaSchulung & Training7 Kommentare

Hallo zusammen, wahrscheinlich schon irgendwo diskutiert aber ich habe es nicht gefunden. Ich muss umfangreiche Handgeschriebene Texte aus Briefen ...

Neue Wissensbeiträge
Windows 7

Windows 7 u. Server 2008 (R2) SHA-2-Update kommt am 12. März 2019

Information von kgborn vor 7 StundenWindows 73 Kommentare

Kleine Info für die Admins der oben genannten Maschinen. Ab Juli 2019 werden Updates von Microsoft nur noch mit ...

Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Information von ChriBo vor 2 TagenFirewall2 Kommentare

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 3 TagenInternet1 Kommentar

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 3 TagenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Heiß diskutierte Inhalte
Backup
Wo installiert man Veeam bei SoHo?
Frage von EDVMan27Backup16 Kommentare

Hallo, nachdem ich die neue Veeam CE bei mir getestet habe, wollte ich es einmal bei einem Kunden testen. ...

Hyper-V
Intel MSC Raid 5 Rebuild
Frage von DannysHyper-V16 Kommentare

Hallo Community, Ich habe einen Modul Server von Intel in Betrieb. Dort ist eine Festplatte aus dem Raid 5 ...

Windows Server
DFSR - Dateireplikationseinstellung - Festplattenauslastung zu hoch - optimale Einstellungsfrage
Frage von Kamelle01Windows Server12 Kommentare

Hallo liebe Mitglieder, ich habe einen Windows Server 2016 mit 4TB 7200U 256MB SATA Festplatten in RAID10 und einem ...

CPU, RAM, Mainboards
Kann eine "virtuelle CPU" bei VMware die Leistung einer phys. CPU entsprechen ?
Frage von Troja71CPU, RAM, Mainboards11 Kommentare

Eine Software fordert im Betrieb 8 CPU mit x GHz Taktung. Verfügbar ist "nur" eine VM mit 8 vCPUs ...