Devo creare 1000 cartelle numerate da 000 a 999 all'interno di una directory. Come posso fare questo usando cmd
(cioè la riga di comando di Windows)?
Devo creare 1000 cartelle numerate da 000 a 999 all'interno di una directory. Come posso fare questo usando cmd
(cioè la riga di comando di Windows)?
Risposte:
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
Spiegazione dalla documentazione (ovvero digitare for /?
al prompt dei comandi):
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)
@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)
0
prefisso (000-999) e vuole solo numeri senza prefisso. Il tuo codice produce numeri senza prefisso 0 e hai anche aggiunto uno strano prefisso. Ad esempio, se il nome del luogo è abc
quindi creare abc"__"0
, abc"__"1
... abc"__"10
...abc"__"999