Verplaatsten van meerdere directories via commandline CMD

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • joostman
  • Registratie: Oktober 2003
  • Laatst online: 02-05 07:29
Ik heb een directory met waar een aantal verwerkte logjes in komen. Die directory wordt aangemaakt als: Verwerkt220119-83736 (naam jaartal, maand, dag en tijd.)
Daarnaast heb ik een Verwerkt directory waar ik na controle deze map elke keer in verplaats.

Ik wil een simpel schoonbatchje maken in CMD om de Verwerkt22* mapjes te verplaatsen naar de Verwerkt map.

Het leuke van de commandline is dat als ik intyp:
code:
1
move "Verwerkt220119-83736" "Verwerkt archief"

dit werkt en de directory verplaatst is.

Echter wil ik niet de hele directorynaam opnemen, want deze is variabel. Mijn idee was dus:
code:
1
move Verwerkt22* "Verwerkt archief"

Waarbij ik als antwoord kreeg:
code:
1
De syntaxis van de bestandsnaam, mapnaam of volumenaam is onjuist.


Is dit een onmogelijkheid voor een directory? Want als ik dit met bestanden doe gaat dat prima...
Is er een commandline alternatief? (Ik kan niet het Verwerkt<datum><tijd> mapnaam aanpassen)

Beste antwoord (via joostman op 19-01-2022 13:20)


  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 00:13
code:
1
for /f %%x in ('dir verwerkt22* /ad /b') do move /Y "%%x" "verwerkt archief"


Alleen in batch... Als je dit op de commandline zou willen intikken, moet je de dubbele % vervangen voor een enkele %

[ Voor 47% gewijzigd door Poltergeist op 19-01-2022 12:52 ]

Alle reacties


Acties:
  • +2 Henk 'm!

  • Wylana
  • Registratie: April 2009
  • Laatst online: 02-05 20:57

Ik ben steenrijk....ik heb een grindpad!


Acties:
  • +1 Henk 'm!

  • erwn
  • Registratie: November 2020
  • Niet online
Wil je dit echt in je command prompt of gebruik je een andere console? Met een bash console zou dit met mv moeten kunnen lijkt me.

Acties:
  • 0 Henk 'm!

  • joostman
  • Registratie: Oktober 2003
  • Laatst online: 02-05 07:29
Robocopy ziet ook de asterisk niet als een meerdere mapoptie en denk dat dit de bestanden zijn. Daardoor verwarring met het doel... en gaat het fout

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
C:\test>robocopy Verwerkt22* "Verwerkt archief" /move

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows
-------------------------------------------------------------------------------

  Started : woensdag 19 januari 2022 12:20:15
   Source : C:\test\Verwerkt archief\
     Dest -

    Files : Verwerkt22*

  Options : /DCOPY:DA /COPY:DAT /MOVE /R:1000000 /W:30

------------------------------------------------------------------------------

ERROR : No Destination Directory Specified.



@erwn Ik wil dit het liefst met de commandprompt. Ik heb hiervoor namelijk al wat schoon- en verplaatsregels voor klaar staan en wil het hier aan toevoegen.

Acties:
  • 0 Henk 'm!

  • canonball
  • Registratie: Juli 2004
  • Laatst online: 21:41
Nu geeft je op dat je de map Verwerkt ook na de map Verwerkt wilt verplaatsen, want de map Verwerkt matched ook op Verwerkt*. Probeer het eens met een andere doel map.

Acties:
  • Beste antwoord
  • +4 Henk 'm!

  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 00:13
code:
1
for /f %%x in ('dir verwerkt22* /ad /b') do move /Y "%%x" "verwerkt archief"


Alleen in batch... Als je dit op de commandline zou willen intikken, moet je de dubbele % vervangen voor een enkele %

[ Voor 47% gewijzigd door Poltergeist op 19-01-2022 12:52 ]


Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 16:40

Blokker_1999

Full steam ahead

wildcards in robocopy werken niet op het pad, enkel op bestandsnamen.

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Het kan inderdaad met een for loopje, zie @Poltergeist. Al kan je, als je toch je er nog in moet verdiepen, overwegen Powershell te gebruiken. Kennis daarvan is misschien wet meer toekomstbestendig.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • +1 Henk 'm!

  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 00:13
Nou, in powershell dan: :P
code:
1
(get-childitem verwerkt22* -Directory).name | move-item -Destination "verwerkt archief" -ea SilentlyContinue

[ Voor 9% gewijzigd door Poltergeist op 19-01-2022 13:14 ]


Acties:
  • 0 Henk 'm!

  • joostman
  • Registratie: Oktober 2003
  • Laatst online: 02-05 07:29
Wow! Allemaal toch wat ingewikkelder dan ik dacht. Ik ga de for loop eens onder de loep nemen hoe hij precies werkt / wat de gebruikte opties zijn.

Bedankt in ieder geval voor het meedenken!
Pagina: 1