Posso copiar vários arquivos nomeados na linha de comando do Windows usando um único comando “cópia”?
-
06-09-2019 - |
Pergunta
Eu gostaria de copiar vários arquivos conhecidos para outro diretório, como parte de um evento pós-compilação, mas não quer ter linhas e linhas de "cópia [arquivo] [destino] [desliga]" Na minha evento de compilação. Se possível, eu gostaria de listar os arquivos que eu gostaria de copiar usando um formato similar: "cópia [file 1] [arquivo 2] [arquivo 3] [etc ...] [destino] [interruptores]" . No entanto, o Windows não parecem gostar deste tipo de formato. Alguma ideia? Obrigado!
Solução
Você pode usar 'para' em um arquivo de lote ou directamente a partir do prompt de comando:
for %I in (file1.txt file2.txt file3.txt) do copy %I c:\somedir\
Os curingas são suportados na lista de arquivos, bem como:
for %I in (*.txt *.doc *.html) do copy %I c:\somedir\
Para obter mais informações, basta digitar por /? a partir de um prompt de comando, ou para um muito mais fácil de ler ajuda uso Iniciar> Ajuda e Suporte e procure por "For". Na minha caixa de XP Pro, foi o item 15 nos resultados da pesquisa de texto completo.
Outras dicas
XP e Vista substituído xcopy com robocopy , e ele vai fazer exatamente o que você quer. A sintaxe para o que você quer se sente para trás no início, mas ele faz o trabalho:
robocopy source\folder a\dest\folder file1.exe file2.bat file3.dll file4.txt
Use a <Copy>
MSBuild tarefa .