Qual é o benefício da cópia sobre o xcopy na linha de comando?

Respostas:

39
  1. O xcopy é um programa externo, enquanto a cópia faz parte do intérprete ( cmd.exe , command.com ). Isso significa que o xcopy pode não estar presente em outra máquina ou em um disco de recuperação.

    Como temos o Windows e os CDs de resgate, isso não é mais um problema.

  2. A cópia pode concatenar arquivos.

    copy file1 + file2 file3
    

    cria um arquivo ( arquivo3 ) que contém o conteúdo do arquivo1 e do arquivo2 .

  3. copiar pode copiar mais do que apenas arquivos.

    Por exemplo,

    copy con file
    

    permite escrever diretamente do teclado (console) para o arquivo .

    Da mesma forma, você pode imprimir um arquivo usando

    copy file prn
    copy file \\computer\printer
    

    onde o último é para impressoras compartilhadas.

    Você pode até combinar o acima: O comando

    copy con prn
    

    permite escrever diretamente na impressora.

Dennis
fonte
5
Além disso, é um caractere a menos para digitar ao invocá-lo. :)
Orangutech
Uau, obrigado por informações sobre concatenação de arquivos. Acabei de descobrir e entender por que meu arquivo de resultados era tão grande. Você fez o meu dia.
Johnny_D
22

Penso que a principal diferença é (ou foi) xcopycapaz de copiar hierarquias de pastas e copyse destinava a trabalhar apenas em arquivos.
Dito isto, acho que não há nada a ganhar (funcionalidade ou desempenho) ao usar copy.

Observe que até xcopyestá desatualizado pelos padrões de hoje. Robocopy é o novo utilitário de cópia preferido nas modernas plataformas Windows.

Observe também que todos os utilitários de cópia mencionados possuem artigos da Wikipedia que podem conter informações adicionais:

Der Hochstapler
fonte
1

Alguém se lembra do DOS em PCs duplos? O Xcopy minimiza o número de buscas de leitura carregando vários arquivos na memória em uma única leitura para acelerar a cópia. Provavelmente ainda faz uma melhoria trivial da velocidade com HDDs.

Conta
fonte
1
Correndo o risco de partir os cabelos, essa não é, estritamente falando, uma resposta para a pergunta, pois ela requer benefício (s) de copymais xcopy. Mas, na IMO, essa é uma contribuição válida para a discussão.
Scott
0

Se você considera o Powershell uma "linha de comando", existe outro comando "cópia" disponível. A "cópia" do Powershell aparentemente mapeia para um cmdlet.

Uma coisa que não foi mencionada pelas outras respostas é que, como o Powershell expande um curinga profundamente incorporado no nível do shell, esse comando funcionará (apenas no PS, não no DOS):

% copy G:\git\one\source\*\morePath\SomePattern*.dll destDir

enquanto o xcopy reivindica "arquivo não encontrado", pois aceita uma única fonte.

crokusek
fonte