Qual é o comando do prompt de comando do Windows para copiar arquivos?
Preciso mover um arquivo do local A para o local B. Além disso, se a pasta para o local B não existir, quero que ela seja criada.
Eu preciso que isso seja uma linha de comando para que eu possa automatizá-lo.
A versão do Windows é XP.
O comando
xcopy
é o que você está procurando. Exemplo:O comando acima copiará a origem para o destino, arquivos e diretórios (incluindo os vazios), não parará em caso de erro, copiará arquivos ocultos e de sistema, substituirá arquivos somente leitura, preservará atributos e informações de propriedade/ACL e suprimirá o solicitando a substituição dos arquivos de destino existentes.
Para mais informações digite
xcopy /?
e sua linha de comando.Use md para criar a pasta (tudo bem se já existir)
Use copiar ou mover para arquivos e xcopy para pastas
Use ROBOCOPY se estiver criando scripts de backup. xcopy foi preterido e provavelmente será descontinuado em um futuro próximo. robocopy pode fazer tudo o que o xcopy pode. Também é mais flexível e confiável. A criação de scripts com robocopy os tornará à prova de futuro.
Use robocopy para copiar pastas facilmente. O comando robocopy substitui o comando xcopy. Ele pode copiar pastas inteiras rapidamente sem ter que se preocupar em definir o conteúdo. Por exemplo, para copiar todo o conteúdo do diretório C:\tools para a nova pasta D:\backup\tools, digite o seguinte:
O modificador /e diz ao robocopy para incluir todos os subdiretórios. Isso inclui pastas vazias. O robocopy copiará automaticamente os arquivos ocultos e do sistema. Ele criará novos diretórios se eles não existirem no local de destino.
Espelhe um diretório. Espelhar um diretório é ótimo para fazer backups. A opção de espelho do robocopy copiará todo o conteúdo da origem para o destino. Em seguida, ele excluirá qualquer coisa no destino que não exista na origem. Isso garante que seu backup tenha apenas as versões mais recentes de seus arquivos. Por exemplo, para espelhar C:\Users\My Documents para D:\backup\My Documents, digite o seguinte:[4]
Esta função preservará todas as permissões dos arquivos originais.
Ative a reinicialização. Você pode querer incluir a capacidade de reiniciar o processo caso a conexão seja cortada no meio da cópia.
Registre o processo de cópia. robocopy permite que você crie um arquivo de log. Isso pode ajudá-lo a identificar problemas ou gerar um arquivo do que foi copiado.
O modificador /log+ anexará o arquivo de log existente em vez de sobrescrevê-lo. Se você preferir apenas sobrescrever o arquivo de log antigo, use /log:.txt.
Em um arquivo em lote:
if not exists
verifica o parâmetro para ver se ele existe, mas só funciona em arquivos. Para verificar a existência de um diretório , você precisa procurar um 'pseudo-arquivo' chamado "nul" - verificar a existência desse arquivo sempre retornará true se o diretório existir.A linha de cópia copia o arquivo chamado no
file
diretório e nomeia o arquivo da mesma forma. Se você quiser renomear o arquivo ao mesmo tempo, você também pode fazer isso:locationA
locationB
Se você deseja sincronizar a cópia e outros recursos avançados (ignore determinadas pastas, inclua apenas alguns curingas), consulte
robocopy
. Incluído no Vista e além, opcional (das ferramentas do kit de recursos) em versões anteriores.xcopy criará a estrutura de diretórios para você. O truque é usar a opção /I e lançar um asterisco no final do nome do arquivo para que o xcopy pense que você está copiando vários arquivos, caso contrário, ele perguntará se o nome do destino é o nome do arquivo que você deseja ou o nome do diretório que deseja . Por exemplo.
Eu também olharia para o RoboCopy, mas você precisa obtê-lo no kit de recursos, pois não está no Windows até o Vista.
O comando acima cria um nível de diretório adicional com o nome do arquivo de origem. Então... xcopy /I srcdir\dir1\dir2\file1.txt* destdir\dir1\dir2\file1.txt resulta em destdir\dir1\dir2\file1.txt\file1.txt