Zum Inhalt wechseln


Foto

move mit Wildcards


  • Bitte melde dich an um zu Antworten
28 Antworten in diesem Thema

#1 Nevuor

Nevuor

    Newbie

  • 27 Beiträge

 

Geschrieben 29. April 2011 - 16:44

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.

#2 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 30. April 2011 - 10:23

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?
My name is Frank, you can say you to me.

#3 Nevuor

Nevuor

    Newbie

  • 27 Beiträge

 

Geschrieben 30. April 2011 - 13:26

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.

#4 ZeroKnowledge

ZeroKnowledge

    Newbie

  • 59 Beiträge

 

Geschrieben 30. April 2011 - 15:15

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


#5 Nevuor

Nevuor

    Newbie

  • 27 Beiträge

 

Geschrieben 30. April 2011 - 18:04

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


#6 lefg

lefg

    Expert Member

  • 20.479 Beiträge

 

Geschrieben 01. Mai 2011 - 06:17

Wurde anstelle des Asteriks schon mal ein Fragezeichen probiert.

Sind zum Schreiben auf den Ordner die Berechtigungen vorhanden?

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#7 Nevuor

Nevuor

    Newbie

  • 27 Beiträge

 

Geschrieben 07. Mai 2011 - 09:30

Ja... sind vorh. ... konnte das Problem leider auch noch nicht lösen.

#8 lefg

lefg

    Expert Member

  • 20.479 Beiträge

 

Geschrieben 07. Mai 2011 - 12:37

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, 07. Mai 2011 - 13:11.

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#9 lefg

lefg

    Expert Member

  • 20.479 Beiträge

 

Geschrieben 07. Mai 2011 - 13:05

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.

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#10 lefg

lefg

    Expert Member

  • 20.479 Beiträge

 

Geschrieben 07. Mai 2011 - 13:17

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?

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#11 ZeroKnowledge

ZeroKnowledge

    Newbie

  • 59 Beiträge

 

Geschrieben 08. Mai 2011 - 10:15

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


#12 Nevuor

Nevuor

    Newbie

  • 27 Beiträge

 

Geschrieben 13. Mai 2011 - 16:00

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, 13. Mai 2011 - 16:31.


#13 lefg

lefg

    Expert Member

  • 20.479 Beiträge

 

Geschrieben 13. Mai 2011 - 16:57

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.

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)


#14 Nevuor

Nevuor

    Newbie

  • 27 Beiträge

 

Geschrieben 13. Mai 2011 - 19:29

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.

#15 lefg

lefg

    Expert Member

  • 20.479 Beiträge

 

Geschrieben 13. Mai 2011 - 20:09

Fehlt für xcopy eventuell der Schalter S, also xcopy /s .......

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

 

Diskutiere nicht mit ***en, denn sie ziehen dich auf ihr Niveau und schlagen dich dort mit Erfahrung! (Hab ich bei Tom abgeguckt)

 

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität. (Hab ich bei Daniel abgeguckt) https://de.wikipedia...rgo_propter_hoc

 

Absolutistischer“ Geschäftsführungs-Dogmatismus, der jedwede Empirie aus der „Werkstatt“ schlichtweg ignoriert , führt eben zumeist früher als später ….  (Hab ich von Klabautermann)