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?


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)

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)

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.