Bagaimana cara batch membuat berbagai folder (000-999) di windows?

16

Saya perlu membuat 1000 folder bernomor 000 hingga 999 di dalam direktori. Bagaimana saya bisa melakukan ini menggunakan cmd(yaitu baris perintah Windows)?

pengguna11955
sumber
Ini masalah seperti ini saya biasanya mengarahkan orang ke arah python. Baris perintah Windows jauh dari kuat, IMO membutuhkan sesuatu untuk melengkapinya.
Phoshi
1
Saya hanya perlu melakukannya sekali, tidak ingin menginstal python hanya untuk itu ...
user11955
1
Nah, Anda akan menyimpan Python untuk hal-hal lain;)
Ignacio Vazquez-Abrams

Jawaban:

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

Penjelasan dari dokumentasi (mis. Ketik for /?pada command prompt):

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)
Codism
sumber
1
Apakah ini semacam bahasa asing? Apapun itu, ini bekerja dengan baik! Terima kasih!
user11955
Luar biasa! Saya baru saja mencobanya. Maukah Anda menjelaskan sintaks atau memberikan tautan ke penjelasan?
Christopher Bottoms
1
@ChristopherBottoms: Saya harap Anda sudah menemukan sintaksnya. tetapi jika Anda masih membutuhkannya, buka jendela cmd dan ketik /?
Codism
jawaban yang fenomenal!
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
sumber
Ini berfungsi sebagai file .bat
NeoMati
itu tidak bekerja. OP menginginkan nama dengan 0awalan (000-999), dan ia hanya menginginkan angka tanpa awalan. Kode Anda menghasilkan angka tanpa 0 awalan, dan Anda juga menambahkan awalan aneh. Misalnya, jika nama tempat abcitu yang Anda buat abc"__"0, abc"__"1... abc"__"10...abc"__"999
phuclv