Ordner mit Platzhalter verschieben

1594
yannick godeau

Ich habe ein Skript, um Ordner von einem lokalen Konto zu meinem Administrator zu verschieben. Ich möchte aber einen Platzhalter in meinem Skript verwenden, also zum Beispiel, wenn der Ordnername ist FOLDER, FOLDER1wird er auch in den Administrator verschoben.

Ich versuche diesen Befehl:

Move /Y C:\Users\Test\Desktop\folder* "C:\Users\admin\Documents\Moved 

Aber ich bekomme den Fehler:

Die Syntax des Dateinamens, Ordners oder Volume-Namens ist falsch.

1
Das `` `am Ziel ist nicht abgeschlossen. Es ist auch nicht notwendig, da keine eingebetteten Leerzeichen vorhanden sind. Ich bevorzuge das Hinzufügen eines abschließenden` \ `, wenn das Ziel ein Verzeichnis ist. AFH vor 6 Jahren 0
Mögliches Duplikat von [Datei in Archivordner in cmd mit Platzhaltern verschieben] (https://superuser.com/q/517486/173513) und [Wie interpretiert der Windows-Befehl RENAME Platzhalterzeichen?] (Https://superuser.com) / q / 475874/173513) jww vor 5 Jahren 2
Kein Duplikat des ersten, da es sich um das Verschieben von Dateien und nicht um Ordner handelt (die von MOVE unterschiedlich behandelt werden). Kein Duplikat des zweiten, da REN nur umbenannt wird und nicht zu einem anderen Pfad wechseln kann (daher hat der Benutzer nicht nach REN gefragt). jep vor 5 Jahren 0

1 Antwort auf die Frage

1
Pimp Juice IT

Der Move- Befehl unterstützt keine Platzhalter, wie Sie hier versuchen. Sie können jedoch die Verwendung dir - Befehl mit den /s /b /adParametern in einer für / f - Schleife und machen es rekursiv den Quellordner für durchqueren nur Verzeichnisse und dann die Ordner mit dem iterieren bewegen Befehl, um die Ordner in den Zielordner zu verschieben.

for /f "tokens=*" %a in ('dir /s /b /ad "C:\source\folder\*"') do move /y "%~a" "C:\Destination\folder\" 

Weitere Ressourcen

Ich habe es versucht und es schien mir zu helfen yannick godeau vor 6 Jahren 0
Wäre es nicht einfacher, `for / d% a in (" c: \ source \ folder * ") zu verwenden, verschieben Sie / y"% a "" C: \ Users \ admin \ Documents \ Moved \ "`? Das `/ d` weist` for` an, mit Verzeichnisnamen anstelle von Dateien abzugleichen. jep vor 5 Jahren 0
@Jep Sie haben vielleicht Recht, ich weiß, dass "for / d" für die Iterationen, die ich glaube, effizienter ist als "for / f", aber ich müsste testen, um sicher zu sein, dass es für das OP-Anforderungsprofil funktioniert . Dies ist eines der Dinge, die mehrere Lösungen haben, die funktionieren könnten, wo eine besser sein könnte als die andere, aber ich schrieb es basierend auf dem, was mein Denkprozess oder mein Gedächtnis usw. abgerufen hat. Pimp Juice IT vor 5 Jahren 0