Jump to content

move mit Wildcards


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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.

Geschrieben

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

Geschrieben (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 von lefg
Geschrieben

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.

Geschrieben

 

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?

Geschrieben

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")

Geschrieben (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 von Nevuor
Geschrieben

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.

Geschrieben

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.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...