XCOPY
Copia arquivos (exceto arquivos ocultos e de sistema) e diretórios, inclusive subdiretórios.
Com este comando, é possível copiar todos os arquivos de um diretório, inclusive os arquivos incluídos nos subdiretórios desse diretório.
Sintaxe :
XCOPY origem [destino] [/Y|/-Y] [/A|/M] [/D:data] [/P] [/S] [/E] [/V] [/W]
Parâmetros :
origem
Especifica a localização e os nomes dos arquivos a serem copiados. A origem deve incluir uma unidade ou caminho.
destino
Especifica o destino dos arquivos a serem copiados. O destino pode
incluir uma letra de unidade e dois-pontos, um nome de diretório, um nome-de-arquivo ou uma combinação.
Opções :
/Y
Indica que você deseja que o XCOPY substitua o(s) arquivo(s) existente(s) sem que seja pedida confirmação. Por padrão, se for especificado um arquivo existente como arquivo de destino, o XCOPY perguntará se você deseja substituir o arquivo existente. As versões anteriores do MS-DOS substituíam o arquivo existente. Se o comando XCOPY
fizer parte de um arquivo de lote, funcionará como nas versões anteriores. Se você especificar essa opção, todos os padrões e a definição atual da variável de ambiente COPYCMD serão substituídos.
/-Y
Indica que você deseja que o XCOPY peça confirmação quando substitui um arquivo existente. Se você especificar esta opção, todos os padrões e a definição atual da variável de ambiente COPYCMD serão substituídos.
/A
Copia somente arquivos de origem que possuem seu conjunto de atributos de Arquivo. Esta opção não modifica o atributo de Arquivo do arquivo de origem. Para obter informações sobre como definir o atributo de Arquivo, consulte o comando <ATTRIB>.
/M
Copia arquivos de origem que possuem seu conjunto de atributos de Arquivo. Ao contrário da opção /A, esta opção desativa os atributos de Arquivo dos arquivos especificados na origem. Para obter informações sobre como definir o atributo de Arquivo, consulte o comando <ATTRIB>.
/D:data
Copia somente os arquivos de origem modificados na data especificada ou depois. Note que o formato da data depende da configuração de COUNTRY utilizada.
/P
Emite um aviso para confirmar se você deseja criar cada arquivo de destino.
/S
Copia diretórios e subdiretórios, a menos que eles estejam vazios. Se for omitida esta opção, o XCOPY agirá dentro de um único diretório.
/E
Copia subdiretórios, mesmo que vazios.
/V
Verifica cada arquivo como está gravado no arquivo de destino para certificar-se de que os arquivos de destino são idênticos aos de origem.
/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).
Comando Relacionado :
Para obter informações sobre como copiar arquivos específicos, consulte o comando <COPY>.
Para obter informações sobre como copiar discos, consulte o comando <DISKCOPY>.
Exemplos :
O exemplo a seguir copia todos os arquivos e subdiretórios (inclusive subdiretórios vazios) do disco da unidade A para o disco da unidade B:
xcopy a: b: /s /e
O exemplo abaixo usa as opções /D: e /V:
xcopy a: b: /d:18/01/93 /s /v
Neste exemplo, somente os arquivos do disco da unidade A que foram gravados em 18/01/93 ou posteriormente serão copiados no disco B. Uma vez gravados os arquivos no disco B, o comando XCOPY compara os arquivos dos dois discos para garantir que são idênticos.
É possível criar um programa de lote para executar operações de XCOPY e usar o comando IF de lote para processar o código de saída no caso da ocorrência de erros. Por exemplo, o programa de lote abaixo usa parâmetros substituíveis para os parâmetros de origem e destino do XCOPY.
@echo off
rem COPIAR.BAT transfere todos os arquivos
rem de origem em todos os diretórios de da unidade
rem de origem (%1) para a unidade de destino (%2).
xcopy %1 %2 /s /e
if errorlevel 4 goto membaixa
if errorlevel 2 goto anular
if errorlevel 0 goto sair
:membaixa
echo Memória insuficiente para copiar arquivos ou
echo unidade inválida ou sintaxe de linha de comando inválida.
goto sair
:anular
echo Você pressionou CTRL+C para finalizar a operação de cópia.
goto sair
:sair
Para usar este programa de lote para copiar todos os arquivos do diretório C:\PRGMCOD e seus subdiretórios para a unidade B, digite o seguinte comando:
copiar c:\prgmcod b:
O interpretador de comandos substitui %1 por C:\PRGMCOD e %2 por B: e usa XCOPY com as opções /E e /S. Se o XCOPY encontrar erro, o programa de lote lerá o código de saída e irá para o nome indicado na instrução apropriada IF ERRORLEVEL. O MS-DOS exibirá a mensagem correspondente e sair do programa de lote.
Observações :
Valor padrão para destino :
Se for omitido o destino, o comando XCOPY copia 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 barra invertida (\), o XCOPY emitirá aviso com uma mensagem no seguinte formato:
O parâmetro especifica um nome-de-arquivo ou nome-de-diretório no destino
(A = arquivo, D = diretório)?
Pressione F para que o(s) arquivo(s) sejam copiados em um arquivo. Pressione D para que o(s) arquivo(s) sejam copiados em um diretório.
Definindo a variável de ambiente COPYCMD :
Você pode definir a variável de ambiente COPYCMD para especificar se deseja que os comandos COPY, MOVE E XCOPY peçam confirmação antes de substituir um arquivo, quer esses comandos sejam emitidos a partir do aviso do DOS ou de um arquivo de lote.
Para fazer com que os comandos COPY, MOVE e XCOPY peçam sempre confirmação
antes de substituir arquivos, defina a variável de ambiente COPYCMD para /-Y. Para fazer com que esses comandos substituam sempre sem pedir confirmação, defina a variável de ambiente COPYCMD para /Y.
Se você indicar qualquer um desses comandos com a opção /Y ou /-Y, todos os padrões e a definição atual da variável de ambiente COPYCMD serão substituídos.
XCOPY não copia arquivos ocultos e de sistema
Em versões mais antigas do MS-DOS, o XCOPY copiava arquivos ocultos e de sistema. Não é o caso do MS-DOS 6.22. Para remover o atributo oculto ou de sistema de um arquivo, use o comando <ATTRIB>.
XCOPY define atributos de arquivo para arquivos de destino O XCOPY cria arquivos com o conjunto de atributos de arquivo, esteja ou não definido esse atributo no arquivo de origem. Para obter maiores informações sobre atributos de arquivos, consulte o comando ATTRIB.
XCOPY versus DISKCOPY
Se seu disco contiver arquivos em subdiretórios e você desejar copiá-los para um disco com formato diferente, deve usar XCOPY ao invés de DISKCOPY.
Como o comando DISKCOPY copia discos trilha a trilha, requer que os discos de origem e destino tenham o mesmo formato. O XCOPY não faz tal exigência.
Em geral, use XCOPY, a menos que precise fazer uma cópia exatamente igual do disco. Entretanto, o XCOPY não irá copiar arquivos ocultos ou de sistema como IO.SYS e MSDOS.SYS. Portanto, use DISKCOPY para fazer cópias de discos de sistema.
Códigos de saída do XCOPY
A lista a seguir mostra os códigos de saída juntamente com uma breve descrição de seu significado:
0
Os arquivos foram copiados sem erro.
1
Não foi encontrado nenhum arquivo para cópia.
2
O usuário pressionou CTRL+C para finalizar o XCOPY.
4
Ocorreu erro de inicialização. Não há espaço suficiente na memória ou em disco, ou você inseriu nome de unidade inválida ou sintaxe inválida na linha de comando.
5
Ocorreu erro de gravação no disco.
O parâmetro ERRORLEVEL pode ser usado na linha do comando IF de um programa de lote para processar códigos de saída devolvidos pelo XCOPY.