2010-07-22 12 views
7

Gibt es eine Möglichkeit in der Eingabeaufforderung, eine Datei zu nehmen und sie in einen anderen Ordner und dessen Unterverzeichnisse zu kopieren, basierend auf ihrem Namen?Ersetzen einer Datei in mehrere Ordner/Unterverzeichnisse

Ich habe ein Bild namens 5.jpg, das in einem Unterordner abgelegt wurde, der sich in jedem Ordner in einem Verzeichnis befindet. Ich möchte eine Suche innerhalb des Ordners (mit dem alten Bild) und seinen Unterordnern durchführen und alle Ergebnisse durch das neue Bild ersetzen.

Antwort

4

Ich bin mir nicht sicher, ob ich dich vollständig verstanden habe. Der folgende Code sucht nach allen Vorkommen von 5.jpg in Unterverzeichnissen von C: \ MyPath \ und ersetzt sie durch C: \ NewImage \ 5.jpg. Ich habe es getestet, also sollte es funktionieren.

FÜR mit dem Parameter/R wird Ihnen dabei helfen:

FOR /R C:\MyPath\ %%I IN (5.jpg) DO COPY /Y C:\NewImage\5.jpg %%~fI 

Wenn Sie weitere Informationen wünschen, was FOR /R tut und was %%~fI Mittel, einen Blick auf FOR /? | more die Möglichkeiten schöne Erläuterungen zu den neuen Windows cmd gibt die hier benutzt werden.

+0

Nun, da ich es genauer betrachte, sieht es so aus, als ob es genau so funktioniert, wie du sagst. Ich brauche es nur in die Unterordner, die die Datei enthalten, da es einige gibt, die die Datei nicht haben. – abney317

+0

scheint zu funktionieren, wenn ich ein Sternchen in die Klammern setzen wie (* 5.jpg) Danke – abney317

+0

Es gibt Fehlermeldung: '%% Ich war zu diesem Zeitpunkt unerwartet – plaidshirt

12

Wahrscheinlich gibt es einen weiteres (einfacher) Weg

den Befehl

C ersetzen Den verwenden: \ somefile.txt C: \ SomeRootFolder_ContainsMultipleSubFolders/s

als Befehl es Selbst sagt er ersetzt nur die Datei, die bereits in Unterverzeichnissen existiert.

Verwandte Themen