Estou tentando copiar alguns diretórios de um servidor antes de restaurar do backup (meu backup mais recente estava corrompido, portanto, tenho que usar um antigo :(). Estou no Windows Recovery Environment e tenho acesso ao arquivo do servidor sistema G:\
e minha mídia de backup C:\
, mas, como estou mais familiarizado com o Linux, estou tendo alguns problemas com a linha de comando no Windows, especificamente robocopy
.
Desejo copiar vários diretórios (mantendo a mesma estrutura de diretórios) de G: \ para C: \, excluindo outros (ou seja, as pastas Windows e Arquivos de Programas). Não consigo descobrir a sintaxe da /XD
opção. Eu esperava fazer algo como:
robocopy G: C:\backup /CREATE /XD "dir1","dir2", ...
NOTA: Quero esclarecer que desejo copiar os arquivos reais, mantendo também a estrutura de diretórios. Acabei de verificar e /create
só cria arquivos vazios. Esquisito.
fonte
/?
opção para obter informações de ajuda para os comandos do console do Windows. Há também ohelp
comando, que é semelhante aoman
programa do Linux , mas eu não o vi usado por programas de terceiros (poderia ser - eu não estou familiarizado com como ele funciona, ou se isso é possível).help
comando, mas ele não parece estar ativo no Ambiente de Recuperação do Windows (recebi um erro como "Nenhum comando 'ajuda' encontrado"). Robocopy é um comando padrão do Windows que substituiu o xcopy e não é de terceiros./MIR
(Espelho A a B) destrói todos os arquivos em B que não estão presentes em A. Isso é útil quando o diretório para o qual você está copiando já existe e você deseja que a nova versão (de B) seja uma duplicata exata de A (como existe atualmente).Sei que isso não responde à pergunta do OP, mas para qualquer pessoa aqui do google: XD falhará em um arquivo de trabalho se você usar aspas.
Ruim:
Boa:
Coloque quantas exclusões desejar, linha após linha, sem usar aspas (se há espaços ou não).
A maneira como descobri isso foi usando a opção de linha de comando / SAVE: myjobname, que retirou as aspas dos meus diretórios citados!
fonte
você tem que repetir a
/XD
partefonte
Minha solução para isso foi criar arquivos .txt que contenham os arquivos ou diretórios que quero incluir ou excluir. Eu tenho esses arquivos em uma subpasta "rcXcludes" na minha pasta "Backup". Meu método para nomear os arquivos é o seguinte. Eu os prefácio com "rc" (para robocopy), depois alguma notação reconhecível para o aplicativo ou parte do sistema de arquivos no comando robocopy, depois anexo "B" ou "R" (para backup ou restauração) e depois "I" ou "X" (para incluir ou excluir), depois "D" ou "F" (para diretório ou arquivo). Eu envolvo cada entrada com aspas duplas e um espaço entre as entradas. Um arquivo "Incluir" pode ter arquivos ou diretórios, mas os diretórios devem ter uma barra invertida à direita. Em um arquivo "Excluir" para diretórios, você não usa uma barra invertida à direita. Quaisquer entradas de diretório são relativas ao caminho de origem no comando robocopy. Todo o conteúdo de qualquer um desses arquivos .txt deve estar em uma linha enão possui um avanço de linha de retorno carraige. No meu arquivo em lotes, eu uso um comando SET / P para importar o arquivo .txt para uma variável. Eu então uso essas variáveis para FILES ou depois de / XF ou / XD. Por exemplo, para fazer backup do perfil do Chrome do usuário atual sem copiar toda a pasta "Padrão", use o seguinte.
No arquivo bat em, digamos, C: \ Backup.
fonte