Jak wsadowo utworzyć zakres folderów (000-999) w systemie Windows?


16

Muszę utworzyć 1000 folderów o numerach od 000 do 999 w katalogu. Jak mogę to zrobić za pomocą cmd(tj. Wiersza poleceń systemu Windows)?


To takie problemy, które zwykle kieruję w stronę Pythona. Wiersz poleceń systemu Windows jest daleki od potężnego, IMO potrzebuje czegoś, aby go uzupełnić.
Phoshi,

1
Muszę to zrobić tylko raz, nie chcę instalować Pythona tylko dla tego ...
user11955,

1
Nie, będziesz trzymać Pythona przy innych rzeczach;)
Ignacio Vazquez-Abrams,

Odpowiedzi:


28
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

Objaśnienie z dokumentacji (tj. Wpisz for /?w wierszu polecenia):

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
Czy to jakiś obcy język? Cokolwiek, działa świetnie! Dzięki!
user11955,

Niesamowite! Właśnie tego spróbowałem. Czy mógłbyś wyjaśnić składnię lub podać link do wyjaśnienia?
Christopher Bottoms

1
@ChristopherBottoms: Mam nadzieję, że już wymyśliłeś składnię. ale jeśli nadal będziesz go potrzebować, przejdź do okna cmd i wpisz /?
Codism

fenomenalna odpowiedź!
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)

Działa jako plik .bat
NeoMati,

to nie działa. OP chce nazw z 0prefiksem (000-999) i chce tylko liczb bez żadnego prefiksu. Twój kod tworzy liczby bez 0 prefiksu, a także dodałeś dziwny prefiks. Na przykład, jeśli nazwa miejsca to abcto, tworzysz abc"__"0, abc"__"1... abc"__"10...abc"__"999
phuclv
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.