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

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!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...