Nevuor 10 Geschrieben 29. April 2011 Melden Teilen Geschrieben 29. April 2011 Guten Tag, habe leider bisher keinen passenden Eintrag im Forum gefunden. Daher versuch ich es jetzt so. Zur Konstellation: Ich möchte mehrere Ordner die immer B_% heissen in einen anderen Ordner verschieben. Bekomme jedoch bisher immer einen Syntaxfehler. Bisher habe ich: set SCRIPTPATH=%cd% move "%SCRIPTPATH%\B_*" "%SCRIPTPATH%\Belege\B_*" Leider tut das nicht. Habe etwas mit einer FOR Schleife gelesen, aber nicht verstanden. Geht das nicht auch einfacher? Vielen Dank im Voraus. Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 30. April 2011 Melden Teilen Geschrieben 30. April 2011 Zunächst würde ich sagen, dass das Ziel ein Verzeichnis sein sollte und daher nicht mit B_* enden sollte. Schon mit move %Scriptpath%\B_* %Scriptpath\Belege versucht? Zitieren Link zu diesem Kommentar
Nevuor 10 Geschrieben 30. April 2011 Autor Melden Teilen Geschrieben 30. April 2011 Danke für den Tipp. Stimmt natürlich, das dort keine Wildcard stehen sollte, aber es geht trotzdem nicht. Bekomme einen Synthaxfehler. Bei Dateien geht es, aber bei Ordnern wie hier nicht. :( * EDIT * Habe natürlich den Fehler bei dir behoben. Da fehlte ein %. Geht leider trotzdem nicht. Zitieren Link zu diesem Kommentar
ZeroKnowledge 11 Geschrieben 30. April 2011 Melden Teilen Geschrieben 30. April 2011 move erlaubt Wildcards wohl nur bei den Dateinamen Mit einer kleinen for-Schleife lässt sich das Gewünschte aber umsetzen for /f "tokens=*" %%a in ('dir /b /ad B_*') do move "%%a" Belege Zitieren Link zu diesem Kommentar
Nevuor 10 Geschrieben 30. April 2011 Autor Melden Teilen Geschrieben 30. April 2011 Vielen Dank. Kappt einwandfrei. Ein Problem habe ich doch noch. Wenn der Ordner bereits vorhanden ist wird er nicht überschrieben. Es kommt die Meldung Zugriff verweigert. Der Befehl /Y sollte es eigentlich machen, aber klappt nicht. for /f "tokens=*" %%a in ('dir /b /ad B_*') do move /Y "%%a" Belege Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 1. Mai 2011 Melden Teilen Geschrieben 1. Mai 2011 Wurde anstelle des Asteriks schon mal ein Fragezeichen probiert. Sind zum Schreiben auf den Ordner die Berechtigungen vorhanden? Zitieren Link zu diesem Kommentar
Nevuor 10 Geschrieben 7. Mai 2011 Autor Melden Teilen Geschrieben 7. Mai 2011 Ja... sind vorh. ... konnte das Problem leider auch noch nicht lösen. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 7. Mai 2011 Melden Teilen Geschrieben 7. Mai 2011 (bearbeitet) set SCRIPTPATH=%cd% move "%SCRIPTPATH%\B_*" "%SCRIPTPATH%\Belege\B_*". Ist das denn so überhaupt richtig: %cd% ? Wofür soll das gut sein? Ist der Inhalt der Variablen überhaupt korrekt und interpretierbar? Wie sieht denn ein Trace aus davon? bearbeitet 7. Mai 2011 von lefg Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 7. Mai 2011 Melden Teilen Geschrieben 7. Mai 2011 Kann move denn überhaupt Verzeichnisse verschieben? Ist das irgendwo dokumentiert? In der move /? ist das Verschieben von Dateien beschrieben und das Umbenennen von Verzeichnissen, kein Verschieben von Verzeichnissen. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 7. Mai 2011 Melden Teilen Geschrieben 7. Mai 2011 set SCRIPTPATH=%cd% move "%SCRIPTPATH%\B_*" "%SCRIPTPATH%\Belege\B_*" Das Zielnomen ist mir ein Rätsel: B_*, wurde es schon mal ohne gestestet? Ist das mit den einfassenden Anführungszeichen korrekt? Zitieren Link zu diesem Kommentar
ZeroKnowledge 11 Geschrieben 8. Mai 2011 Melden Teilen Geschrieben 8. Mai 2011 Wenn du aus dem verschieben ein kopieren und löschen machst, dann funktioniert es. Aber warum genau, kann ich dir nicht sagen. Da hat wohl beim Überschreiben vom Verzeichnis jemand noch die Finger drauf... for /f "tokens=*" %%a in ('dir /b /ad B_*') do (xcopy /e /i /q /y "%%a" Belege && rd /s /q "%%a") Zitieren Link zu diesem Kommentar
Nevuor 10 Geschrieben 13. Mai 2011 Autor Melden Teilen Geschrieben 13. Mai 2011 (bearbeitet) Vielen Dank. *** EDIT *** Mist doch nicht. Ein Punkt fehlt mir noch. Es werden jetzt zwar die Datein verschoben, aber nicht die Ordner. Es soll so aussehen: C:\Belege\B_*\Dateiname momentan ist es so: C:\Belege\Dateiname Mir fehlt jetzt der variable Ordner. bearbeitet 13. Mai 2011 von Nevuor Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 13. Mai 2011 Melden Teilen Geschrieben 13. Mai 2011 Ich meine, move kann Ordner nicht verschieben, svchaue doch mal an: move /? Da steht etwas von Dateien verschieben und Ordner umbenennen, nichts vom Ordner verschieben. Ich denke, Ordner wirst Du wohl anlgen müssen mit md NeuOrdner, dann die Dateien verschieben und dann öäschen den AltOrdner. Zitieren Link zu diesem Kommentar
Nevuor 10 Geschrieben 13. Mai 2011 Autor Melden Teilen Geschrieben 13. Mai 2011 for /f "tokens=*" %%a in ('dir /b /ad B_*') do (xcopy /e /i /q /y "%%a" Belege && rd /s /q "%%a") Das ist der aktuelle Stand. Ein xcopy und kein move. Und ich möchte jetzt, dass der xcopy auch den Ordner "B_*" mit kopiert in dem dann die Datein liegen. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 13. Mai 2011 Melden Teilen Geschrieben 13. Mai 2011 Fehlt für xcopy eventuell der Schalter S, also xcopy /s ....... 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.