Você está com dois problemas aqui.
A primeira é que você disse a move
para copiar apenas os arquivos que possuem um nome que corresponda ao padrão *.*
. Dir1
e Dir2
ambos não correspondem a *.*
. (Nem tem um " .
" (ponto) no nome). @Seth apontou isso em um comentário em seu post original.
O segundo problema é que move
não tem comportamento sane (imho) quando você pede para mover uma pasta e um arquivo ao mesmo tempo. Mover simplesmente se recusa a mover uma pasta, se alguma coisa está tentando ser movida ao mesmo tempo:
Move um dir para outro diretório:
move C:\Source\Dir1 C:\Dest\
(agora C:\Dest\Dir1
existe)
Move apenas arquivos no nível superior dentro de C:\Source\
:
move C:\Source\* C:\Dest\
(agora C:\Dest\abc.files
existe)
Produz um erro de sintaxe quando você tenta mover duas pastas de uma vez (nenhuma das sintaxes funciona para mim)
move C:\Source\Dir1,C:\Source\Dir2 C:\Dest\
move C:\Source\Dir1 C:\Source\Dir2 C:\Dest\
A documentação para move
sugere que você deve ser capaz de especificar vários arquivos e pastas para mover de uma só vez com uma vírgula ( ,
) separando os arquivos a serem movidos, mas isso não parece funcionar para mim.
A documentação diz Moves files and renames files and directories.
, sugerindo que realmente não é possível mover diretórios ...
Portanto, não creio que exista uma solução que funcione para você com o comando move
disponível em máquinas compatíveis com DOS. No entanto, existem outros comandos mais recentes disponíveis em versões mais recentes do Windows que provavelmente funcionariam. xcopy
é popular. Infelizmente, isso não funciona para mim porque xcopy
não faz um movimento no nível do sistema de arquivos, apenas copia e exclui o original. Isso é bom para arquivos menores, mas pode ser desastroso com arquivos maiores.