Ich möchte xcopy auf einem Windows-Computer verwenden, um alle Dateien mit der Erweiterung .png in ein einziges Verzeichnis zu ziehen.
Ich habe es versucht xcopy C:\folder\*.png /s C:\png\
, aber es hält die Unterverzeichnisse in \ Ordner (zum Beispiel in C: \ png, dort ist C: \ png \ a \ b \ c \ img.png), was ich nicht will. Ich möchte einfach alle .png in C: \ png, ohne die Verzeichnisstruktur beizubehalten, die sich in C: \ folder befand.
Antworten:
Dies kann mit guten alten getan werden
for
:Nichts Außergewöhnliches.
quelle
%f
du erklären, wofür das ist?f" was unexpected at this time
. Wechsel%f
zu%%f
gearbeitet. Ich habe dies jedoch in einer Batch-Datei ausgeführt: Wenn Sie den Befehl FOR in der Befehlszeile und nicht in einem Batch-Programm verwenden, verwenden Sie nur ein Prozentzeichen:% G anstelle von %% G. ss64.com/nt/for.htmlfor
möglicherweise über die beiden Unterschieded
in Dingen wie verwirrt werden%~dd
. In derfor
Dokumentation wird empfohlen, für Variablen Großbuchstaben zu verwenden, um Verwechslungen zu vermeiden, aber Substitutionen lassen sich meiner Meinung nach immer noch deutlich vom Variablennamen unterscheiden.Wenn Sie Cygwin installiert haben, ist dies ein Job zum Finden:
(Dies kann jedoch zu Problemen führen, wenn einer der Dateinamen Leerzeichen enthält. Es gibt jedoch eine Variante eines
find
Befehls, der unter allen Umständen funktioniert.)Wenn Sie mit Vista, 2003 oder 2008 arbeiten, ist das weniger flexible, aber dennoch nützliche "forfiles" Ihr Freund. So etwas wie:
Hinweis: Ich habe keinen der obigen Befehle getestet, aber theoretisch sollten sie funktionieren ...
quelle