[batch] Bestanden sorteren in mappen op 1ste letter

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • TECHcrime
  • Registratie: Februari 2008
  • Laatst online: 13-10 14:38
Goedenavond,

Mijn vader heeft een hele lijst (6445 files) bestanden staan, en wilt deze sorteren in mappen op basis van de eerste letter van de file.

Nu is dat handmatig natuurlijk niet te doen ivm. tijd.

Daarom ben ik op zoek naar een simpel batch script die dan voor mij kan doen.
Wie kan mij hiermee op weg helpen?

Alvast bedankt.

Greetz,,
TECHcrime

Acties:
  • 0 Henk 'm!

  • midget
  • Registratie: Maart 2001
  • Laatst online: 16-10 21:24
Goedeavond, al eens geprobeerd:

dir /o

Te doen?
Of dir /? voor alles opties.

Acties:
  • 0 Henk 'm!

  • TECHcrime
  • Registratie: Februari 2008
  • Laatst online: 13-10 14:38
Is een goede, maar dan moet alles worden weggeschreven in aparte mappen

Acties:
  • 0 Henk 'm!

  • midget
  • Registratie: Maart 2001
  • Laatst online: 16-10 21:24
Ok volgende

Tree.exe /F

Acties:
  • 0 Henk 'm!

  • acemoo
  • Registratie: Maart 2006
  • Laatst online: 08:10
Het is de bedoeling van de ts om alle bestanden dat met een a beginnen in een folder genaamd a te zetten, alle bestanden dat met een b beginnen in een folder genaamd b te zetten.. en zo verder.

Zal eens kijken of ik hier wat voor kan bedenken..

Acties:
  • 0 Henk 'm!

  • TECHcrime
  • Registratie: Februari 2008
  • Laatst online: 13-10 14:38
dat schrijft de bestanden nog steeds niet weg in mappen met namen als: "A" "B" "C"
Miss ligt het aan mij, maar ik zie het verband niet echt..
br men schreef op maandag 19 december 2011 @ 19:16:
[...]


Het is de bedoeling van de ts om alle bestanden dat met een a beginnen in een folder genaamd a te zetten, alle bestanden dat met een b beginnen in een folder genaamd b te zetten.. en zo verder.

Zal eens kijken of ik hier wat voor kan bedenken..
Als je dat zou willen doen, heel graag :)

[ Voor 75% gewijzigd door TECHcrime op 19-12-2011 19:19 ]


Acties:
  • 0 Henk 'm!

  • midget
  • Registratie: Maart 2001
  • Laatst online: 16-10 21:24
Ik zit helemaal verkeerd te denken ik snap wat je bedoeld, mijn excuses ben al te lang op mijn werk bezig.
Ik zal nog eens even denken, welke Windows versie is het trouwens wellicht dat dit met Powershell eenvoudiger is te realiseren.

Acties:
  • 0 Henk 'm!

  • TECHcrime
  • Registratie: Februari 2008
  • Laatst online: 13-10 14:38
midget schreef op maandag 19 december 2011 @ 19:22:
Ik zit helemaal verkeerd te denken ik snap wat je bedoeld, mijn excuses ben al te lang op mijn werk bezig.
Ik zal nog eens even denken, welke Windows versie is het trouwens wellicht dat dit met Powershell eenvoudiger is te realiseren.
no problem..
Ik kan zelf alleen batch.. powershell kan ik niet schrijven. Dus liefst batch ;)

Acties:
  • 0 Henk 'm!

  • acemoo
  • Registratie: Maart 2006
  • Laatst online: 08:10
Ik kwam uit op de volgende code, maar kreeg deze error: The system cannot find the file a.
code:
1
2
3
4
5
6
7
8
9
10
@echo off
for /f "tokens=*" %%l in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
        md %%letter
        for /f %%f in ('dir /b') do (
        %%f=%%f:~0,1
                if %%f==%%l do (
                        mv %%f %%l
                )
        )
)

Dus dacht ik waarom niet gewoon simpel houden?
Bleek dat die for loop van me niet helemaal klopte.. for /f is om door bestanden te lopen.
code:
1
2
3
4
5
@echo off
for %%l in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
    md %%l
    move %%l* %%l
)

Hij geeft een lading fout meldingen bij mij maar dat is omdat ik alleen bestanden heb dat met a of b beginnen.
En de laatste fout: "The batch file cannot be found." komt omdat het script zichzelf verplaatst heeft.

[ Voor 5% gewijzigd door acemoo op 19-12-2011 20:17 ]


Acties:
  • 0 Henk 'm!

  • TECHcrime
  • Registratie: Februari 2008
  • Laatst online: 13-10 14:38
Geweldig :)
Om die laatste melding te vermeiden kan ik gewoon de filename "-movescript.bat" gebruiken. dan word die ook niet geinclude in het script.

Helemaal TOP :D
Pagina: 1