Eu tentei fazer isso, mas não está funcionando
Existem vários problemas com o seu arquivo de lote.
Uso de %
Você precisa usar %%
em um arquivo em lotes. %
é para uma linha de comando.
Uso de / min
:: variables
/min
/min
- '/ min' não é reconhecido como um comando interno ou externo,
programa operável ou arquivo de lote. Não tenho certeza do que você está tentando fazer com isso.
Uso de odrive
SET odrive=%odrive:~0,2%
odrive
já está definido? Caso contrário, será definido como ~0,2
. Em qualquer caso, não é usado novamente.
Uso de backupcmd
set backupcmd=xcopy /s /c /d /e /h /i /r /y
Você não usa backupcmd
Uso de for
echo off
for /r C:\ %f in (*.jpg) do @copy "%drive%\all\pics"
Este não é um uso válido de for
. Você precisa usar %%f
não %f
.
copy
leva pelo menos dois parâmetros, origem e destino.
%drive%
já está definido?
Tente o seguinte comando for
:
for /r C:\ %%f in (*.jpg) do @copy %%f "%drive%\all\pics"
A operação do comando FOR pode ser resumida como ...
- Take a set of data
- Make a FOR Parameter %%G equal to some part of that data
- Perform a command (optionally using the parameter as part of the command).
- Repeat for each item of data
If you are using the FOR command at the command line rather than in a batch program, use just one percent sign: %G instead of %%G.
Fonte para
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- para / r - Fazer um loop pelos arquivos (criar subpastas).