Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Copia arquivos e diretórios, incluindo subdiretórios.
Para obter exemplos de como usar esse comando, consulte Exemplos.
Sintaxe
xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress]
Parâmetros
Parâmetro | Descrição |
---|---|
<Fonte> | Obrigatório Especifica o local e os nomes dos arquivos que você deseja copiar. Este parâmetro deve incluir uma unidade ou um caminho. |
[<Destino>] | Especifica o destino dos arquivos que você deseja copiar. Esse parâmetro pode incluir uma letra de unidade e dois pontos, um nome de diretório, um nome de arquivo ou uma combinação destes. |
/w | Exibe a seguinte mensagem e aguarda sua resposta antes de começar a copiar arquivos: Pressione qualquer tecla para começar a copiar o(s) arquivo(s) |
/p | Solicita que você confirme se deseja criar cada arquivo de destino. |
/c | Ignora erros. |
/v | Verifica cada ficheiro à medida que é gravado no ficheiro de destino para se certificar de que os ficheiros de destino são idênticos aos ficheiros de origem. |
/q | Suprime a exibição de xcopy mensagens. |
/f | Exibe os nomes dos arquivos de origem e destino durante a cópia. |
/l | Gera uma lista de arquivos que devem ser copiados, mas não copia ativamente os arquivos. |
/g | Cria ficheiros de destino desencriptados quando o destino não suporta encriptação. |
/d [:MM-DD-AAAA] | Copia somente os arquivos de origem alterados na data especificada ou após ela. Se você não incluir um valor MM-DD-AAAA,xcopy copiará todos os arquivos de origem mais recentes do que os arquivos de destino existentes. Esta opção de linha de comando permite que você atualize arquivos que foram alterados. |
/u | Copia arquivos da origem que existem somente no destino . |
/eu | Se a origem for um diretório ou contiver curingas e o destino não existir, xcopy assumirá que o destino especifica um nome de diretório e cria um novo diretório. Em seguida, xcopy copia todos os arquivos especificados para o novo diretório. Por padrão, xcopy solicita que você especifique se o destino é um arquivo ou um diretório. |
/s | Copia diretórios e subdiretórios, a menos que estejam vazios. Se você omitir /s, xcopy funciona dentro de um único diretório. |
/e | Copia todos os subdiretórios, mesmo que estejam vazios. Use /e com as opções de linha de comando /s e /t . |
/t | Copia apenas a estrutura do subdiretório (ou seja, a árvore), não os arquivos. Para copiar diretórios vazios, você deve incluir a opção de linha de comando /e . |
/k | Copia arquivos e retém o atributo somente leitura nos arquivos de destino , se presente nos arquivos de origem . Por padrão, xcopy remove o atributo somente leitura. |
/r | Copia arquivos somente leitura. |
/h | Copia arquivos com atributos ocultos e de arquivo do sistema. Por padrão, xcopy não copia arquivos ocultos ou do sistema |
/um | Copia apenas os arquivos de origem que têm seus atributos de arquivo definido como arquivos. /a não modifica o atributo de arquivo morto do arquivo de origem. Para obter informações sobre como definir o atributo de arquivo morto usando attrib, consulte Links relacionados. |
/m | Copia os arquivos de origem que têm seus atributos de arquivo definidos. Ao contrário de /a, /m desativa os atributos de arquivo morto nos arquivos especificados na fonte. Para obter informações sobre como definir o atributo de arquivo morto usando attrib, consulte Links relacionados. |
/n | Cria cópias usando os nomes curtos de arquivo ou diretório NTFS. /n é necessário quando você copia arquivos ou diretórios de um volume NTFS para um volume FAT ou quando a convenção de nomenclatura do sistema de arquivos FAT (ou seja, 8,3 caracteres) é necessária no sistema de arquivos de destino . O sistema de arquivos de destino pode ser FAT ou NTFS. |
/o | Copia a propriedade do arquivo e as informações da lista de controle de acesso discricionário (DACL). |
/x | Copia as configurações de auditoria de arquivos e as informações da lista de controle de acesso do sistema (SACL) (implica /o). |
/exclude:FileName1[+[FileName2]][+[FileName3]( )] | Especifica uma lista de arquivos. Pelo menos um arquivo deve ser especificado. Cada arquivo contém cadeias de caracteres de pesquisa com cada cadeia de caracteres em uma linha separada no arquivo. Quando qualquer uma das cadeias de caracteres corresponde a qualquer parte do caminho absoluto do arquivo a ser copiado, esse arquivo é excluído de ser copiado. Por exemplo, especificar a string obj excluirá todos os arquivos abaixo do diretório obj ou todos os arquivos com a extensão .obj . |
/y | Suprime a solicitação para confirmar que você deseja substituir um arquivo de destino existente. |
/-y | Solicita a confirmação de que você deseja substituir um arquivo de destino existente. |
/z | Cópias através de uma rede no modo reinicializável. |
/b | Copia o link simbólico em vez dos arquivos. Este parâmetro foi introduzido no Windows Vista®. |
/j | Copia arquivos sem buffering. Recomendado para ficheiros muito grandes. Este parâmetro foi adicionado no Windows Server 2008 R2. |
/comprimir | Solicite a compactação de rede durante a transferência de arquivos, quando aplicável. |
/[- ]esparso |
Habilita ou desabilita a retenção do estado esparso dos arquivos durante o processo de cópia. Se ambos os parâmetros forem especificados, /-sparse substituirá /sparse. |
/noclone | Não tenta bloquear a clonagem como uma otimização. |
/? | Exibe ajuda no prompt de comando. |
Observações
Usando /z
Se você perder a conexão durante a fase de cópia (por exemplo, se o servidor ficar offline cortar a conexão), ela será retomada depois que você restabelecer a conexão. /z também exibe a porcentagem da operação de cópia concluída para cada arquivo.
Usando /y na variável de ambiente COPYCMD.
Você pode usar /y na variável de ambiente COPYCMD. Você pode substituir esse comando usando /-y na linha de comando. Por padrão, você será solicitado a substituir.
Copiar ficheiros encriptados
Copiar ficheiros encriptados para um volume que não suporta EFS resulta num erro. Desencriptar os ficheiros primeiro ou copiá-los para um volume que suporte EFS.
Anexando arquivos
Para acrescentar arquivos, especifique um único arquivo para destino, mas vários arquivos para origem (ou seja, usando curingas ou formato file1+file2+file3).
Valor padrão para o destino
Se você omitir o destino, o comando copiará
xcopy
os arquivos para o diretório atual.Especificando se o destino é um arquivo ou diretório
Se o destino não contiver um diretório existente e não terminar com uma barra invertida (), a seguinte mensagem será exibida:
Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?
Pressione F se desejar que o(s) arquivo(s) seja(m) copiado(s) para um arquivo. Pressione D se desejar que o arquivo ou arquivos sejam copiados para um diretório.
Você pode suprimir essa mensagem usando a opção de linha de comando /i , que faz com
xcopy
que se suponha que o destino é um diretório se a origem for mais de um arquivo ou um diretório.Usando o comando para definir o
xcopy
atributo archive para arquivos de destinoO
xcopy
comando cria arquivos com o atributo archive definido, independentemente de esse atributo ter sido definido ou não no arquivo de origem. Para obter mais informações sobre atributos de arquivo e attrib, consulte Links relacionados.Comparando
xcopy
ediskcopy
Se você tiver um disco que contém arquivos em subdiretórios e quiser copiá-lo para um disco que tenha um formato diferente, use o
xcopy
comando em vez dediskcopy
. Como o comando copiadiskcopy
discos faixa por faixa, os discos de origem e de destino devem ter o mesmo formato. Oxcopy
comando não tem esse requisito. Usexcopy
a menos que você precise de uma cópia completa da imagem de disco.Erro de memória insuficiente
Um erro de "memória insuficiente" pode ocorrer se estiver sendo executado
xcopy
para copiar um arquivo ou pasta cujo caminho do nome do arquivo é maior que 255 caracteres.Códigos de saída para
xcopy
Para processar códigos de saída retornados pelo
xcopy
, use o parâmetro ErrorLevel na linha de comando if em um programa em lotes. Para obter um exemplo de um programa em lote que processa códigos de saída usando if, consulte Links relacionados. A tabela a seguir lista cada código de saída e uma descrição.Código de saída Descrição 0 Os ficheiros foram copiados sem erros. 1 Nenhum arquivo foi encontrado para copiar. 2 O usuário pressionou CTRL+C para encerrar xcopy
.4 Ocorreu um erro de inicialização. Não há memória ou espaço em disco suficientes, ou você inseriu um nome de unidade inválido ou sintaxe inválida na linha de comando. 5 Ocorreu um erro de gravação de disco.
Exemplos
1. Para copiar todos os ficheiros e subdiretórios (incluindo quaisquer subdiretórios vazios) da unidade A para a unidade B, escreva:
xcopy a: b: /s /e
2. Para incluir qualquer sistema ou arquivos ocultos no exemplo anterior, adicione a opção de linha de comando /h da seguinte maneira:
xcopy a: b: /s /e /h
3. Para atualizar os arquivos no diretório \Reports com os arquivos no diretório \Rawdata que foram alterados desde 29 de dezembro de 1993, digite:
xcopy \rawdata \reports /d:12-29-1993
4. Para atualizar todos os arquivos que existem em \Reports no exemplo anterior, independentemente da data, digite:
xcopy \rawdata \reports /u
5. Para obter uma lista dos arquivos a serem copiados pelo comando anterior (ou seja, sem realmente copiar os arquivos), digite:
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out
O arquivo xcopy.out lista todos os arquivos a serem copiados.
6. Para copiar o diretório \Customer e todos os subdiretórios para o diretório \\Public\Address na unidade de rede H:, mantenha o atributo somente leitura e seja solicitado quando um novo arquivo for criado em H:, digite:
xcopy \customer h:\public\address /s /e /k /p
7. Para emitir o comando anterior, certifique-se de que xcopy
cria o diretório \Address, se ele não existir, e suprimir a mensagem que aparece quando você cria um novo diretório, adicione a opção de linha de comando /i da seguinte maneira:
xcopy \customer h:\public\address /s /e /k /p /i
8. Você pode criar um programa em lote para executar xcopy
operações e usar o comando batch if para processar o código de saída se ocorrer um erro. Por exemplo, o seguinte programa em lote usa parâmetros substituíveis para os parâmetros de xcopy
origem e destino:
@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%2)
xcopy %1 %2 /s /e
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit
:abort
echo You pressed CTRL+C to end the copy operation.
goto exit
:exit
Para usar o programa em lote anterior para copiar todos os arquivos no diretório C:\Prgmcode e seus subdiretórios para a unidade B, digite:
copyit c:\prgmcode b:
O interpretador de comandos substitui C:\Prgmcode por %1 e B: por %2e, em seguida, usa xcopy
com as opções de linha de comando /e e /s . Se xcopy
encontrar um erro, o programa em lote lê o código de saída e vai para o rótulo indicado na instrução IF ERRORLEVEL apropriada, em seguida, exibe a mensagem apropriada e sai do programa em lote.
9. Este exemplo copia todos os diretórios não vazios, além de arquivos com a extensão de arquivo associada após o símbolo de asterisco.
xcopy .\toc*.yml ..\..\Copy-To\ /S /Y
rem Output example.
rem .\d1\toc.yml
rem .\d1\d12\toc.yml
rem .\d2\toc.yml
rem 3 File(s) copied
No exemplo anterior, esse valor específico do parâmetro de origem .\toc*.yml copia os mesmos 3 arquivos, mesmo que seus dois caracteres de caminho .\ tenham sido removidos. No entanto, nenhum arquivo seria copiado se o curinga asterisco fosse removido do parâmetro source, tornando-o apenas .\toc.yml.