Toon posts:

Verplaatsten van meerdere directories via commandline CMD

Pagina: 1
Acties:

Vraag


  • joostman
  • Registratie: Oktober 2003
  • Laatst online: 24-01 23:03
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: 30-01 17:22
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


  • Wylana
  • Registratie: April 2009
  • Laatst online: 14:00

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


  • 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.

  • joostman
  • Registratie: Oktober 2003
  • Laatst online: 24-01 23:03
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.

  • canonball
  • Registratie: Juli 2004
  • Laatst online: 21:07
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
  • +4Henk 'm!

  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 30-01 17:22
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]


  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 19:37

Blokker_1999

Full steam ahead

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

No keyboard detected. Press F1 to continue.


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


  • Poltergeist
  • Registratie: Oktober 2000
  • Laatst online: 30-01 17:22
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]


  • joostman
  • Registratie: Oktober 2003
  • Laatst online: 24-01 23:03
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


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee