Wie erstelle ich eine Reihe von Ordnern (000-999) in Windows?

16

Ich muss 1000 Ordner mit den Nummern 000 bis 999 in einem Verzeichnis erstellen. Wie kann ich das mit cmd(dh der Windows-Befehlszeile) machen?

user11955
quelle
Es sind Probleme wie diese, für die ich normalerweise Leute auf Python hinweise. Die Befehlszeile von Windows ist alles andere als mächtig, IMO braucht es etwas, um sie zu ergänzen.
Phoshi
1
Ich muss es nur einmal tun, ich möchte Python nicht nur dafür installieren ...
user11955
1
Nein, du wirst die Python für andere Dinge behalten;)
Ignacio Vazquez-Abrams

Antworten:

26
for /l %i in (0,1,9) do md 00%i
for /l %i in (10,1,99) do md 0%i
for /l %i in (100,1,999) do md %i

Erklärung aus der Dokumentation (dh for /?an der Eingabeaufforderung eingeben):

Runs a specified command for each file in a set of files.

FOR %variable IN (set) DO command [command-parameters]

  %variable  Specifies a single letter replaceable parameter.
  (set)      Specifies a set of one or more files.  Wildcards may be used.
  command    Specifies the command to carry out for each file.
  command-parameters
             Specifies parameters or switches for the specified command.

...

FOR /L %variable IN (start,step,end) DO command [command-parameters]

    The set is a sequence of numbers from start to end, by step amount.
    So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
    generate the sequence (5 4 3 2 1)
Kodismus
quelle
1
Ist das eine Art Fremdsprache? Wie auch immer, es funktioniert großartig! Vielen Dank!
user11955
Genial! Ich habe es einfach versucht. Würde es Ihnen etwas ausmachen, die Syntax zu erklären oder einen Link zu einer Erklärung zu geben?
Christopher Bottoms
1
@ChristopherBottoms: Ich hoffe, Sie haben die Syntax bereits herausgefunden. aber falls du es noch brauchst, gehe zu cmd window und tippe für /?
Codism
phänomenale Antwort!
Brainmaniac
-1
@ECHO OFF && CLS

SET /P x=Insert the name of the place: 
SET /P y=Insert de number of the records: 

SET /A start=1
SET /A z=y+1

REM start the loop
:MKDIR

REM make the directory
MKDIR %x%"__"%start%

REM increment by 1
SET /A start=start+1

REM if we're at the end, return
IF %start%==%z% (GOTO :EOF) ELSE (GOTO :MKDIR)
NeoMati
quelle
Es funktioniert als .bat-Datei
NeoMati
es funktioniert nicht Das OP will Namen mit 0Präfix (000-999) und er will nur Nummern ohne Präfix. Ihr Code erzeugt Zahlen ohne 0-Präfix und Sie haben auch ein seltsames Präfix hinzugefügt. Zum Beispiel, wenn der Name des Ortes ist, abcdann erstellen Sie abc"__"0, abc"__"1... abc"__"10...abc"__"999
phuclv