Ein .bat- oder .wsh-Skript, das nach Dateien suchen kann

7

Ich suche nach Beispielen für ein .bat ODER .wsh-Skript, das Folgendes ausführen kann:

  • Lesen Sie rekursiv Dateinamen in einem Verzeichnis mit einer vom Benutzer bereitgestellten Erweiterung (.dll, .exe usw.)
  • Durchsuchen Sie ein vom Benutzer bereitgestelltes Verzeichnis nach den obigen Dateinamen
  • Erzeuge einen txt- oder xls-Bericht der Ergebnisse, wie: x.txt wurde in "C: \ temp", "C: \ blah"
  • gefunden

TIA.

BEARBEITEN:

Ups, ich sollte klarstellen: Es gibt zwei Verzeichnisse und zwei Suchen hier.

Suche 1:

  • Durchsuchen Sie ein Benutzerverzeichnis "Dir 1" für alle * .dll's.

Suche 2:

  • Suchen Sie in dem Verzeichnis "Dir 2" nach einem anderen Benutzerverzeichnis für die in Search 1 erzeugten Dateinamen. Diese Suche muss auch rekursiv sein.

Wenn Suche 1 in Verzeichnis 1 also foo.dll, foo2.dll und foo3.dll findet, sollte Suche 2 in Verzeichnis 2 nach foo.dll, foo2.dll und foo3.dll suchen und einen Bericht bereitstellen (einfach Auflistung) jeder gefundenen Datei.

    
chrome 05.01.2009, 22:21
quelle

3 Antworten

9

Fügen Sie Folgendes in eine .bat-Datei ein, sagen Sie FindAll.bat :

%Vor%

%1 ist die vom Benutzer bereitgestellte Dateimaske.

%2 ist das vom Benutzer bereitgestellte Verzeichnis, in dem zuerst gesucht werden soll.

%3 ist das vom Benutzer bereitgestellte Verzeichnis, um die Suche zu suchen.

Rufen Sie über die Befehlszeile auf, um einen Bericht zu erstellen:

%Vor%

Der <nul (set /p) Trick gibt Text ohne neue Zeile an die Konsole aus (mit freundlicher Genehmigung Pax von diesem Thread: < a href="https://stackoverflow.com/questions/368041/how-to-code-a-spinner-for-waiting-processes-in-a-batch-file#371276"> Wie man einen Spinner zum Warten programmiert Prozesse in einer Batch-Datei? )

Das 2>&1 , das beim Aufruf der Batch-Datei hinzugefügt wurde, wird benötigt, um die gesamte Ausgabe in die Datei zu schreiben (mit freundlicher Genehmigung aphoria ) aus diesem thread: Nicht verwendete Funktionen von Windows Batch-Dateien )

    
Patrick Cuff 06.01.2009, 02:27
quelle
18

Warum nicht dir?

Durchsuchen Sie das aktuelle Verzeichnis und alle Unterverzeichnisse nach dlls

%Vor%

Durchsuchen Sie alle C nach dlls

%Vor%

Speichern Sie einen Bericht

%Vor%
    
Tom Ritter 05.01.2009 22:27
quelle
-3

Ich würde Robocopy studieren, um zu sehen, ob das helfen könnte (die / L-Flagge ist ein Hinweis).

    
GvS 06.01.2009 00:38
quelle

Tags und Links