O que é o comando 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 do local B não existir, quero que ele seja criado.
Eu preciso que isso seja uma linha de comando para que eu possa automatizá-la.
A versão do Windows é XP.
O comando xcopy
é o que você está procurando. Exemplo:
xcopy source destination /E /C /H /R /K /O /Y
O comando acima copiará a origem para o destino, arquivos e diretórios (incluindo os vazios), não irá parar por erro, copiará arquivos ocultos e do sistema, substituirá arquivos somente leitura, preservará atributos e informações de propriedade/ACL e suprimirá o solicitando a substituição de arquivos de destino existentes.
/E Copies directories and subdirectories, including empty ones.
Same as /S /E. May be used to modify /T.
/C Continues copying even if errors occur.
/H Copies hidden and system files also.
/R Overwrites read-only files.
/K Copies attributes. Normal Xcopy will reset read-only attributes.
/O Copies file ownership and ACL information.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
Para mais informações, digite xcopy /?
e sua linha de comando.
Usar md para criar a pasta (tudo bem se já existir)
Usar cópia de ou mover para arquivos e xcopy para pastas
Em um arquivo em lotes:
if not exists locationB\nul mkdir locationB
copy locationA\file locationB
if not exists
verifica o parâmetro para ver se ele existe, mas funciona apenas em arquivos. Para verificar a existência de um diretório, é necessário procurar um 'pseudo-arquivo' chamado "nul" - a verificação da existência desse arquivo sempre retornará verdadeiro se o diretório existir.
A linha de cópia copia o arquivo chamado file
no diretório locationA
para locationB
e nomeia o arquivo da mesma maneira. Se você deseja renomear o arquivo ao mesmo tempo, também pode fazer isso:
copy locationA\file locationB\newfilename
Se você deseja sincronizar a cópia e outros recursos avançados (ignore determinadas pastas, inclua apenas alguns caracteres curinga), consulte robocopy
. Incluído no Vista e além, opcional (das ferramentas do kit de recursos) nas versões anteriores.
Use ROBOCOPY se você estiver criando scripts de backup. O xcopy foi descontinuado e provavelmente será desativado em breve. A robocopy pode fazer tudo o que o xcopy pode. Também é mais flexível e confiável. Criar scripts com robocopy os tornará à prova de futuro.
Use robocopy para copiar pastas facilmente. O comando robocopy substitui o comando xcopy. Ele pode copiar rapidamente pastas inteiras sem precisar 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:
robocopy C:\tools D:\backup\tools /e
O modificador/e diz ao robocopy para incluir todos os subdiretórios. Isso inclui pastas vazias. O robocopy copia 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. O espelhamento de um diretório é ótimo para fazer backups. A opção de espelhamento do robocopy copiará todo o conteúdo da origem para o destino. Ele excluirá qualquer coisa no destino que não exista na fonte. Isso garante que seu backup tenha apenas as versões mais recentes de seus arquivos. Por exemplo, para espelhar C:\Usuários\Meus Documentos em D:\backup\Meus Documentos, digite o seguinte: [4]
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
Esta função preservará todas as permissões dos arquivos originais.
Ative a reinicialização. Convém incluir a capacidade de reiniciar o processo, caso a conexão seja cortada no meio da cópia.
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
Registre o processo de cópia. robocopy permite criar um arquivo de log. Isso pode ajudá-lo a identificar problemas ou gerar um arquivo do que foi copiado.
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
O modificador/log + acrescentará o arquivo de log existente em vez de substituí-lo. Se você preferir substituir o arquivo de log antigo, use /log:.txt.
o 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, perguntará se o nome do destino é o nome do arquivo que você deseja ou o nome do diretório que você deseja . Por exemplo.
xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist>
Eu também examinaria o RoboCopy, mas você precisa obtê-lo no kit de recursos, pois ele não está no Windows até o Vista.