O que é o comando da linha de comando do windows para copiar arquivos?

29

O que é o comando do prompt de comando do windows para copiar arquivos?

Eu preciso mover um arquivo do local A para o local B. Além disso, se a pasta para o local B não existir, eu 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 é o XP.

    
por David Basarab 05.05.2009 / 14:50

7 respostas

40

O comando xcopy é o que você está procurando. Exemplo:

xcopy source destination /E /C /H /R /K /O /Y

O comando acima copia a origem para o destino, arquivos e diretórios (incluindo os vazios), não para em erro, copiará arquivos ocultos e de sistema, sobrescreverá arquivos somente leitura, preservará atributos e propriedade / informações da ACL, e suprimirá o aviso para sobrescrever os 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.

    
por 05.05.2009 / 15:21
6

Use md para criar a pasta (tudo bem se já existir)

Use copiar ou mover para arquivos e xcopy para pastas

    
por 05.05.2009 / 14:52
2

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 existe, mas só funciona em arquivos. Para verificar a existência de um diretório , você precisa procurar por um 'pseudo-arquivo' chamado 'nul' - a verificação da existência desse arquivo sempre retornará true se o diretório existir.

A linha de cópia copia o arquivo chamado file no diretório locationA to locationB e nomeia o arquivo da mesma forma. Se você quiser renomear o arquivo ao mesmo tempo, pode fazer isso também:

copy locationA\file locationB\newfilename
    
por 05.05.2009 / 15:21
2

Se você quiser sincronizar a cópia e outros recursos avançados (ignorar determinadas pastas, inclua apenas determinados curingas), consulte robocopy . Incluído no Vista e além, opcional (de ferramentas de kit de recursos) em versões anteriores.

    
por 05.05.2009 / 15:51
1

Use o ROBOCOPY se você estiver criando scripts de backup. O xcopy foi descontinuado e provavelmente será desativado em breve. O robocopy pode fazer tudo o que o xcopy pode. Também é mais flexível e confiável. Criar scripts com robocopy os protegerá no futuro.

  1. Use o robocopy para copiar pastas facilmente. O comando robocopy substitui o comando xcopy. Ele pode copiar rapidamente pastas inteiras 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:

    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 arquivos ocultos e de sistema. Ele criará novos diretórios se eles não existirem no local de destino.

  2. Espelhe um diretório. Espelhar um diretório é ótimo para fazer backups. A opção de espelhamento de 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 o backup tenha apenas as versões mais recentes dos seus arquivos. Por exemplo, para espelhar C: \ Usuários \ Meus Documentos para 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.

  3. Ative o reinício. Você pode 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
    
  4. Registre o processo de cópia. O 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 + adicionará o arquivo de log existente em vez de sobrescrevê-lo. Se você preferir apenas sobrescrever o arquivo de log antigo, use /log:.txt.

por 22.11.2015 / 22:39
0

xcopy irá 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 desejado ou o nome do diretório desejado . Por exemplo.

xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist>

Eu também verifico o RoboCopy, mas você precisa obtê-lo do kit de recursos, pois ele não está no Windows até o Vista.

    
por 05.05.2009 / 15:21
-1

O comando acima cria um nível de diretório adicional com o nome do arquivo de origem. Assim... xcopy / I srcdir \ dir1 \ dir2 \ arquivo1.txt * destdir \ dir1 \ dir2 \ arquivo1.txt resulta em destdir \ dir1 \ dir2 \ arquivo1.txt \ arquivo1.txt

    
por 10.06.2015 / 17:25