move arquivos com atraso de 3 segundos usando o comando dos

0

Eu tenho 1.760 arquivos com um nome de arquivo de 1.txt - 1760.txt

Eu quero mover os arquivos em uma pasta diferente com atraso na ordem

atualmente estou usando

 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt
 move d:\temp.txt d:\new.txt

mas o resultado são casos 10.txt e 11.txt movem primeiro

Aprecie tudo o que você ajuda.

Andrew

    
por Andrew 09.09.2016 / 04:06

2 respostas

0

move d:\temp.txt d:\new.txt
choice /C yn /D Y /T 3
move d:\temp.txt d:\new.txt
choice /C yn /D Y /T 3
move d:\temp.txt d:\new.txt
choice /C yn /D Y /T 3

Se minha memória está me servindo corretamente, Choice foi introduzido no MS-DOS 6. (Alguns desses parâmetros de linha de comando podem ser mais recentes que isso.)

Acho muito provável que seus arquivos estejam na ordem desejada, mas você os classifica alfanumericamente (fazendo com que "10" apareça antes de "2", assim como "ao" aparece antes de "b"). / p>

Eu fiz algumas experiências:

echo a > a
echo c > c
echo b > b

Agora, pensei que o COMMAND.COM (e provavelmente o CMD) fosse padronizado para um tipo não ordenado. Mas, só para ser minucioso, usei o TCMD da JPSoftware, que suporta uma opção / OU (para DIR) que declara explicitamente que uma classificação não ordenada é desejada. E isso ainda me mostrou a, então b, então c

A conclusão mais lógica é que meu sistema operacional (atualmente em um sistema Windows 10) está optando por armazenar os arquivos no disco de forma ordenada. Isso está substituindo os efeitos das minhas tentativas de dizer aos programas que os programas não deveriam classificar os resultados do que é lido no disco.

    
por 09.09.2016 / 04:34
0

Você sugere que os nomes dos arquivos sejam números consecutivos de 1 a 1170, mas digamos que haja 1760 no total. Não há 1760 números inteiros no intervalo de 1 a 1170. Supondo que você queira de 1 a 1170, em ordem numérica:

FOR /L %i (1,1,1170) DO ( MOVE d:\temp\%i.txt d:\new & timeout /nobreak 3 >NUL )

(Se usado dentro de um arquivo .bat em vez de interativo, o dobro dos sinais de porcentagem.)

    
por 09.09.2016 / 07:25