Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Linux find unter Windows

Frage Entwicklung Batch & Shell

Mitglied: Ultraschnecke

Ultraschnecke (Level 1) - Jetzt verbinden

17.05.2006, aktualisiert 05.03.2007, 10256 Aufrufe, 7 Kommentare

Hallo,

meine Windows-Batch-Kenntnisse sind relativ bescheiden

Ich suche ein äquivalent für den Linux Befehl "find", genauer gesagt will ich folgenden Befehl auf die Windows commandline "übersetzen"

find -type f -name "*.txt" -exec COMMAND {} \;

für COMMAND soll eine EXE aufgerufen werden in der Art "command.exe text.txt"

Danke für Ideen und Gruß
Mitglied: ratzla
17.05.2006 um 18:38 Uhr
Zwei Möglichkeiten:
1. cygwin installieren - damit hast Du auch den find befehl

2. Indexdienst benutzen (Suche über Explorer - ggf. mit erweiterten Opionen) - leider findet der manchmal nicht so genau das was man will.
Bitte warten ..
Mitglied: Biber
17.05.2006 um 19:28 Uhr
Na,
das würde ich so übertrieben wie ratzla nicht formulieren...

Verwirrend an der folgende Zeile (wenn man/frau von der *NIX-Seite kommt) ist, dass der CMD-Prompt keinen find-Befehl hat, der sich AUF Dateien bezieht.
Der CMD-Find-Befehl bezieht sich nur auf die Suche in Dateien (das, was anderswo der grep übernimmt.

Dateien finden ist unter dem CMD-Interpreter immer irgendeine DIR-Variante.
Bei der Suche über ein ganzes Laufwerk liefert ein "dir /s /b [Lw:\pfad\]Dateimaske" alle Dateien auch in allen Unterverzeichnssen und zwar nur deren Namen (ohne Größe, Owner
etc).

Diese Liste wiederum kannst Du per angedeuteter FOR--IN..DO-Anweisung zur weiteren Verarbeitung übergeben, z.B. an eine *.Exe

Beispiel:
01.
for /F "delims=" %i in ('dir /b /s \*.txt') do @find "blank" "%i"
...würde alle Dateien *.txt auf dem aktuellen Laufwerk übergeben an die find.exe, die darin nach dem String "blank" sucht.

Wäre schon das Beisriel, was Du meintest - Du könntest also auch alle diese gefundenen Dateien an ein Zip-Tool.exe oder einen Virus-Check.exe oder an eine Editor.exe senden.

Zum besseren Verständnis am Besten den Zwischenschritt am CMD-Prompt machen:
01.
for /F "delims=" %i in ('dir /b /s \*.txt') do @echo %i
...dann siehst Du, was ich mit der Liste meine, die so an STDOUT übergeben wird.
Die Liste sieht exakt aus wir ein "dir /b /s \*.txt" OHNE FOR..IN..DO drumherum, hat aber einzelneAusgabe-Parameter, die ich einzeln einer *.exe zuschanzen kann.

Statt mit echo etwas an die Console zu übergeben, kannst Du also diese Dateinamen auch einer *.exe,*.vbs, *.bat,...einer ausführbaren Datei übergeben.

Hope That Helps
Biber
Bitte warten ..
Mitglied: Ultraschnecke
18.05.2006 um 13:07 Uhr
Das geht zwar vollkommen anders, aber ist genau das was ich suche.

DANKE!!!!!
Bitte warten ..
Mitglied: sfried100
05.03.2007 um 15:34 Uhr
Hallo!

Habe erst wenige Beiträge in diesem Forum gelesen und die Frage wurde vielleicht bereits an anderer Stelle behandelt.
Wie kann man das Problem mit find mit den Dateinamen mit Leerzeichen "My documents" in den Griff bekommen?
Habe auf meinem Rechner keine Administratorrechte (keine exe ausführen, kein regedit etc.).

Liebe Grüße
sfried
Bitte warten ..
Mitglied: Ultraschnecke
05.03.2007 um 21:26 Uhr
Hmm ist schon ne Weile her, aber normalerweise kann man das Leerzeichen entweder mit Escape-Zeichen ersetzen oder den Pfad in Anführungszeichen verpacken... Vielleicht hilft Dir diese im-Nebel-stocher-Antwort

Gruß
Bitte warten ..
Mitglied: Biber
05.03.2007 um 21:54 Uhr
@sfried100,

Ultraschnecke hat vollkommen recht: Pfad-/Dateinamen mit Leerzeichen werden in Anführungszeichen eingeschlossen.

Beispiele:
find "suchstring" "d:\Biber\Eigene Dateien\*.txt"
findstr "suchstring" "C:\Dokumente und Einstellungen\Biber\*.*"

Du findest einige Beispiele z.B. im Bereich "Batch & Shell" über die Forumssuche.

Gruss
Biber
Bitte warten ..
Mitglied: sfried100
05.03.2007 um 22:01 Uhr
Hallo Ultraschnecke und Biber, vielen Dank für die prompten Antworten.
Werde morgen den Tipp anwenden.

Gruß
sfried100
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 7
Linux über Windows 7 Bootloader starten (4)

Frage von oecke77 zum Thema Windows 7 ...

Virtualisierung
VirtualMashine von 2 Host(Linux und WIndows) verwenden (6)

Frage von blackdreadhead zum Thema Virtualisierung ...

Monitoring
System Monitoring für Windows, Linux (5)

Frage von manuelw zum Thema Monitoring ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...