Ferramentas de Linha de Comando

Comando Xcopy


( Retorna à Lista completa de comandos Shell )

Comando Xcopy


Copia arquivos e pastas, inclusive subpastas.

Sintaxe
xcopy origem [destino] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:dd-mm-aaaa]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:arquivo1[+[arquivo2]][+[arquivo3]] [{/y|/-y}] [/z]

Parâmetros
origem
Obrigatório. Especifica o local e os nomes dos arquivos que você deseja copiar. Este parâmetro precisa incluir uma unidade ou um caminho.
destino
Especifica o destino dos arquivos que você deseja copiar. Este parâmetro pode incluir uma letra de unidade e dois-pontos, um nome de pasta, um nome de arquivo ou uma combinação desses elementos.
/w
Exibe a mensagem a seguir e espera uma resposta antes de iniciar a cópia de arquivos:
Pressione qualquer tecla para iniciar a cópia de arquivo(s)

/p
Solicita que você confirme a criação de cada arquivo de destino.
/c
Ignora os erros.
/v
Verifica cada arquivo à medida que é gravado no arquivo de destino para garantir que os arquivos de destino sejam idênticos aos arquivos de origem.
/q
Elimina a exibição de mensagens do xcopy.
/f
Exibe os nomes de arquivo de origem e de destino durante a cópia.
/l
Exibe uma lista de arquivos que serão copiados.
/g
Cria arquivos de destino descriptografados.
/d[:dd-mm-aaaa]
Copia somente os arquivos de origem alterados na data especificada ou após essa data. Se você não incluir um valor dd-mm-aaaa, xcopy copiará todos os arquivos de origem que forem mais recentes do que os arquivos de destino existentes. Esta opção de linha de comando permite atualizar arquivos que foram alterados.
/u
Copia somente arquivos da origem que existem no destino.
/i
Se origem for uma pasta ou incluir curingas e destino não existir, xcopy pressuporá que destino especifica um nome de pasta e criará uma nova pasta. Em seguida, xcopy copiará todos os arquivos especificados para a nova pasta. Por padrão, xcopy solicita que você especifique se destino é um arquivo ou uma pasta.
/s
Copia pastas e subpastas, a não ser que estejam vazias. Se você omitir /s, xcopy funcionará em uma única pasta.
/e
Copia todas as subpastas, mesmo que estejam vazias. Use /e com as opções de linha de comando /s e /t.
/t
Copia somente a estrutura de subpasta (isto é, a árvore), não arquivos. Para copiar pastas vazias, é necessário incluir a opção de linha de comando /e.
/k
Copia arquivos e mantém o atributo somente leitura nos arquivos de destino, se estiver presente nos arquivos de origem. Por padrão, xcopy remove o atributo somente leitura.
/r
Copia arquivos somente leitura.
/h
Copia arquivos com atributos de arquivo oculto e de sistema. Por padrão, xcopy não copia arquivos ocultos ou de sistema.
/a
Copia somente arquivos de origem que já tenham os atributos de arquivo morto definidos. /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 Tópicos relacionados.
/m
Copia arquivos de origem que já tenham os atributos de arquivo morto definidos. Ao contrário da opção /a, /m desativa os atributos de arquivo morto nos arquivos especificados na origem. Para obter informações sobre como definir o atributo de arquivo morto usando attrib, consulte Tópicos relacionados.
/n
Cria cópias utilizando nomes curtos de arquivos ou pastas NTFS. A opção /n é obrigatória quando você copia arquivos ou pastas de um volume NTFS para um volume FAT ou quando a convenção de nomes do sistema de arquivos FAT (isto é, caracteres no formato 8.3) é exigida no sistema de arquivos do destino. O sistema de arquivos do destino pode ser FAT ou NTFS.
/o
Copia informações sobre a propriedade de arquivos e a lista de controle de acessos discricionária (DACL).
/x
Copia configurações de auditoria de arquivos e informações sobre a lista de controle de acessos do sistema (SACL) (/o está implícito).
/exclude:nome_de_arquivo1[+[nome_de_arquivo2]][+[nome_de_arquivo3]]
Especifica uma lista de arquivos que contêm seqüências.
/y
Elimina o pedido de confirmação de 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
Copia em uma rede no modo reinicializável.
/?
Exibe ajuda no prompt de comando.
Comentários
Usando /v
O Windows XP não utiliza este comando. Ele é aceito somente para fins de compatibilidade com os arquivos do MS-DOS.

Usando /exclude
Liste cada seqüência em uma linha separada em cada arquivo. Se alguma das seqüências listadas corresponder a uma parte do caminho absoluto do arquivo a ser copiado, esse arquivo será excluído do processo de cópia. Por exemplo, se especificar a seqüência "\Obj\", você excluirá todos os arquivos na pasta Obj. Se especificar a seqüência ".obj", você excluirá todos os arquivos com a extensão .obj.

Usando /z
Se a conexão for perdida durante a fase de cópia (por exemplo, se o servidor da conexão ficar off-line), ela será reiniciada após a conexão ter sido restabelecida. /z também exibe a porcentagem da operação de cópia concluída de cada arquivo.

Usando /y na variável de ambiente COPYCMD
É possível usar /y na variável de ambiente COPYCMD. Você pode substituir esse comando usando /-y na linha de comando. Por padrão, você é solicitado a efetuar a substituição, a menos que execute copy a partir de um script em lotes.

Copiando arquivos criptografados
A cópia de arquivos criptografados para um volume que não dê suporte a EFS resulta em um erro. Descriptografe os arquivos primeiro ou copie-os para um volume que dê suporte a EFS.

Acrescentando arquivos
Para acrescentar arquivos, especifique um único arquivo para o destino, mas vários arquivos para a origem (isto é, usando curingas ou o formato arquivo1+arquivo2+arquivo3).

Valor padrão para destino
Se o destino for omitido, o comando xcopy copiará os arquivos para a pasta atual.

Especificando se o destino é um arquivo ou uma pasta
Se o destino não contiver uma pasta e não terminar com uma barra invertida (\), a seguinte mensagem será exibida:

O destino especifica um nome de arquivo
ou pasta no destino
(A = arquivo, P = pasta)?

Pressione A para que o(s) arquivo(s) seja(m) copiado(s) para um arquivo. Pressione P para que o(s) arquivo(s) seja(m) copiado(s) para uma pasta.

É possível eliminar essa mensagem usando a opção de linha de comando /i, o que fará com que xcopy pressuponha que o destino é uma pasta se a origem for mais de um arquivo ou uma pasta.

Usando o comando xcopy para definir o atributo de arquivamento para arquivos de destino
O comando xcopy cria arquivos com o atributo de arquivamento definido, quer esse atributo tenha sido definido no arquivo de origem ou não. Para obter mais informações sobre atributos de arquivo e attrib, consulte Tópicos relacionados.

Comparando xcopy e diskcopy
Se você tiver um disco que contenha arquivos em subpastas e desejar copiá-lo para um disco cujo formato seja diferente, utilize o comando xcopy em vez de diskcopy. Como o comando diskcopy copia discos trilha por trilha, é necessário que os discos de origem e de destino tenham o mesmo formato. O comando xcopy não faz essa exigência. Utilize xcopy, a não ser que precise de uma cópia de imagem completa do disco.

Códigos de saída de xcopy
Para processar códigos de saída retornados por xcopy, use o parâmetro errorlevel na linha de comando if de um programa em lotes. Para obter um exemplo de um programa em lotes que processe códigos de saída usando if, consulte Tópicos 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 arquivos foram copiados corretamente.
1 Não foram encontrados arquivos para copiar.
2 O usuário pressionou CTRL+C para finalizar xcopy.
4 Ocorreu um erro de inicialização. Memória ou espaço em disco insuficiente, ou você digitou um nome de unidade inválido ou uma sintaxe inválida na linha de comando.
5 Ocorreu erro de gravação em disco.

Exemplos
Para copiar todos os arquivos e subpastas (inclusive qualquer subpasta vazia) da unidade A para a unidade B, digite:

xcopy a: b: /s /e

Para incluir qualquer arquivo de sistema ou oculto no exemplo anterior, adicione a opção de linha de comando /h da seguinte forma:

xcopy a: b: /s /e /h

Para atualizar arquivos na pasta \Relats utilizando os arquivos da pasta \Dados que foram alterados desde 29 de dezembro de 1993, digite:

xcopy \dados \relats /d:29-12-1993

Para atualizar todos os arquivos que existem em \Relats no exemplo anterior, independentemente da data, digite:

xcopy \dados \relats /u

Para obter uma lista dos arquivos a serem copiados pelo comando anterior (isto é, sem realmente copiar os arquivos), digite:

xcopy \dados \relats /d:29-12-1993 /l > xcopy.out

O arquivo Xcopy.out lista cada arquivo que será copiado.

Para copiar a pasta \Cliente e todas as subpastas para a pasta \\Público\Endereço na unidade de rede H:, manter o atributo somente leitura e ser avisado de que um novo arquivo foi criado na unidade H:, digite:

xcopy \cliente h:\público\endereço /s /e /k /p

Para emitir o comando anterior, certifique-se de que xcopy cria a pasta \Endereço se ela não existir, suprima a mensagem que é exibida quando uma nova pasta é criada e adicione a opção de linha de comando /i da seguinte forma:

xcopy \cliente h:\público\endereço /s /e /k /p /i

Você pode criar um programa em lotes para executar as operações de xcopy e utilizar o comando if em lotes para processar o código de saída se houver erros. Por exemplo, o programa em lotes a seguir utiliza parâmetros substituíveis para os parâmetros de origem e destino de xcopy:

@echo off
rem COPIA.BAT transfere todos os arquivos de todas as subpastas da
rem unidade ou pasta (%1) de origem para o destino

rem unidade ou pasta (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Memória insuficiente para copiar arquivos ou
echo sintaxe de linha de comando ou unidade inválida.
goto exit

:abort
echo Você pressionou CTRL+C para finalizar a operação de cópia.
goto exit

:exit

Para utilizar este programa em lotes a fim de copiar todos os arquivos da pasta C:\Codprgm e subpastas para a unidade B, digite:

copia c:\codprgm b:

O interpretador de comandos substitui %1 por C:\Codprgm e %2 por B: e usa xcopy com as opções de linha de comando /e e /s. Se xcopy encontrar um erro, o programa em lotes lerá o código de saída, irá para o rótulo indicado na instrução IF ERRORLEVEL correta, exibirá a mensagem apropriada e sairá desse programa.

Sistemas Operacionais | Linux Comandos | Linux Shell Script | Atalhos do Office | Literatura e Leitura | Principais Autores | História da Literatura |


Formatando legenda
FormatoSignificado
Itálico Informações que o usuário deve fornecer
Negrito Elementos que o usuário deve digitar exatamente como mostrado
Reticências (...) Parâmetro que pode ser repetido várias vezes em uma linha de comando
Entre colchetes ([]) Itens opcionais
Entre chaves ({});opções separadas por barra vertical (|).Exemplo: {even|odd}Conjunto de opções entre as quais o usuário deve escolher apenas uma
Fonte Courier Código ou resultado de um programa


Envie seu comentário:
Nome:

E-mail:

Comentário:


Fonte: •Manual do Windows XP • ( Literatura e Leitura ) • ( Dicas sobre Sistemas Operacionais ) • ( Retorna à Lista completa de comandos Shell ) •