wasserhund 10 Geschrieben 21. Dezember 2004 Melden Teilen Geschrieben 21. Dezember 2004 Hallo, ich bin ein wenig Kommandozeilen- und Automatisierungsfan und möchte einen Rechner nach bestimmten Dateien durchsuchen, die in einer Auflistung stehen. Nachfolgender Code macht eigentlcih schon dass, was ich möchte: for /F "delims=, " %%i in (black.txt) do dir %lw%\%%i /s In der Black.txt stehen die Begriffe, %lw% ist die Variable fürs Laufwerk. Nun habe ich in der Datei ca. 80 Suchbegriffe stehen. Die werden nun NACHEINANDER abgearbeitet. Es gibt aber auch die Möglichkeit, die Suchprozesse im Hintergrund ablaufen zu lassen: dir test.txt /s&&dir bla.txt /s&&dir sso.bat /s&& ..und so weiter.. Ich bekomme mein "for" nicht dazu, die Abfrage in den Hintergrund zu schieben ... grrr.. habe schon alles mögliche probiert.. Habt Ihr eine Idee?? Schon mal danke schön :-) Zitieren Link zu diesem Kommentar
Dr.Lecter^ 10 Geschrieben 21. Dezember 2004 Melden Teilen Geschrieben 21. Dezember 2004 hi! was meinst du mit "im hintergrund"? lg dani Zitieren Link zu diesem Kommentar
wasserhund 10 Geschrieben 22. Dezember 2004 Autor Melden Teilen Geschrieben 22. Dezember 2004 Mit dem Hintergrund meine ich eigentlich parallele Verabeitung mehrere Suchabfragen: Ich möchte, dass der For-Befehl folgendes erzeugt: dir *.txt /s && dir *.doc /s && *.bla /s && *.inf /s Alle Befehle werden so gleichzeitig (im Hintergrund) abgearbeitet, im Gegensatz zu: dir *.txt /s dir *.bat /s dir *.doc /s ..die nacheinander abgearbeitet werden. Zitieren Link zu diesem Kommentar
Dr.Lecter^ 10 Geschrieben 22. Dezember 2004 Melden Teilen Geschrieben 22. Dezember 2004 hi! das kannst du in einer batch nicht machen. batch = stapelverarbeitungsprogramm. und wie der name sagt, wird hier sequentiell ein befehl nach dem anderen abgearbeitet. also gibt es in diesen programmen keine pseudo-parallelität. lg dani p.s. warum willst du die "gleichzeitigkeit" haben? was willst du damit bezwecken? Zitieren Link zu diesem Kommentar
wasserhund 10 Geschrieben 22. Dezember 2004 Autor Melden Teilen Geschrieben 22. Dezember 2004 Original geschrieben von Dr.Lecter^ hi! das kannst du in einer batch nicht machen. batch = stapelverarbeitungsprogramm. und wie der name sagt, wird hier sequentiell ein befehl nach dem anderen abgearbeitet. also gibt es in diesen programmen keine pseudo-parallelität. lg dani p.s. warum willst du die "gleichzeitigkeit" haben? was willst du damit bezwecken? Ich bezwecke damit Schnelligkeit. Ich habe eine Liste von ca. 200 Dateinnamen, nach denen gesucht werden soll. Am krassesten wirkt: for /F "delims=, " %%i in (black.txt) do start dir %lw%\%%i /s ..dann öffnen sich 200 Eingabeaufforderungen, während for /F "delims=, " %%i in (black.txt) do dir %lw%\%%i /s Nacheinander die Begriffe der black.txt abarbeitet, im Vergleich dazu: dir datei1.txt /s & dir datei2.txt/s & dir datei3.txt /s & datei4.txt ist bedeutend schneller und sucht alle Dateien in einer Suche. Ich hatte auch schon überlegt, mittels Batch einen neuen Batch zu erzeugen, wobei die Suchbegriffe auch hintereinander gestellt werden, das gelingt mir auch nicht... Bei der Bash (Linux) ist es z.b. sehr leicht möglich, eine Batch in den Hintergrund zu schieben, dagegen ist das hier EDV-Steinzeit ;-)) Zitieren Link zu diesem Kommentar
Dr.Lecter^ 10 Geschrieben 22. Dezember 2004 Melden Teilen Geschrieben 22. Dezember 2004 hi! also das mit "start" ist klar. wird halt bei jedem schleifendurchlauf ein neuer (zusätzlicher) kommandointerpreter geöffnet ;) ob die beiden von dir angeführten varianten performanceunterschiede zeigen?! :suspect: bei einem schnellen rechner sollte dir das nicht auffallen! ja aber vorteil der verwendung einer for schleife liegt ja wohl eindeutig auf der hand. wenn du 80 suchkriterien hast, wirst du ja nicht per hand alle dir-befehle mit "und" verknüpfen oder? :suspect: ...dass linux-shells mächtiger sind als dos-shells brauchen wir hier wohl nicht diskutieren ;) lg dani p.s. also wenn du schon so ein automatisierungsfan ist, würde ich dir eine mächtigere sprache empfehlen. das gleiche machst du mit einem 20 zeilen java/c++ programm performant :) hast du dir schon mal FINDSTR angeschaut? ich glaub das brauchst du! Zitieren Link zu diesem Kommentar
wasserhund 10 Geschrieben 22. Dezember 2004 Autor Melden Teilen Geschrieben 22. Dezember 2004 p.s. also wenn du schon so ein automatisierungsfan ist, würde ich dir eine mächtigere sprache empfehlen. das gleiche machst du mit einem 20 zeilen java/c++ programm performant :) ..das eine was man will, das andere, was man kann ;) ich bin kein guter Programmierer, ein wenig batch bzw. shellscript bekomme ich noch so gerade hin, von Java, c++ habe ich leider keine Ahnung.. wird auch hier (Stadt Köln) nicht in dem Bereich eingesetzt.. Wenn ich dürfte, hätte ich schon längst Cygwin hier, das ist ganz nett.. hast du dir schon mal FINDSTR angeschaut? ich glaub das brauchst du! [/b] Ja, eigentlich schon, ich war aber der Meinung, dass dieses nur IN Dateien nach Textmustern sucht und nicht Dateien direkt.. ich schau noch mal. Vielen Dank :-) Zitieren Link zu diesem Kommentar
Dr.Lecter^ 10 Geschrieben 22. Dezember 2004 Melden Teilen Geschrieben 22. Dezember 2004 hi! also der parameter s ist interessant. /S Sucht nach entsprechenden Dateien im aktuellen Verzeichnis und allen Unterverzeichnissen. ich habs selbst noch nicht verwendet...also musst du's wohl mal versuchen! viel glück ;) lg dani Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.