No Windows, dado um novo arquivo “foo.txt”, posso procurar recursivamente em um diretório por arquivos que correspondam a esse nome de arquivo e substituí-los por meu novo arquivo?

0

Se eu tiver o arquivo C:\foo.txt , quero recursivamente pesquisar C:\OtherDir para arquivos correspondentes a foo.txt e substituí-los por C:\foo.txt .

Isso é possível?

    
por Geesh_SO 17.01.2018 / 18:20

1 resposta

0

Você poderia usar o comando DOS REPLACE

REPLACE [d:] [caminho] nome do ficheiro [d:] [caminho] [/ A] [/ P] [/ R] [/ S] [/ U] [/ W]

Objetivo: Substitui arquivos armazenados por arquivos de mesmo nome de um local de armazenamento diferente.

Este comando substitui os arquivos na designação do caminho de destino por arquivos de mesmo nome no local de origem. Você pode usar caracteres curinga (? E *) para indicar grupos de nomes de arquivos nos diretórios de origem. Você NÃO PODE usar este comando para substituir arquivos ocultos ou arquivos do sistema.

Opções

/ A - Adiciona arquivos especificados pela designação de caminho de origem que NÃO existem na designação de caminho de destino. Ao usar essa opção, você pode adicionar arquivos seletivamente a um diretório: um arquivo na designação de caminho de origem que tenha o mesmo nome de um arquivo na designação de destino não será afetado. Esta opção não pode ser usada em combinação com a opção / S.

/ P - Exibe um prompt antes de cada arquivo ser substituído, permitindo que você decida, arquivo por arquivo, se deve ou não permitir a substituição.

/ R - Substitui os arquivos somente leitura e desprotegidos no diretório de destino. Sem essa opção, qualquer tentativa de substituir um arquivo somente leitura resultará em uma mensagem de erro e o processo de substituição será encerrado.

/ S - Atua no diretório de destino e em todos os subdiretórios do diretório de destino. Você não pode usar a opção / A junto com essa opção.

/ U - Substitui os arquivos na unidade de destino ou no diretório que são mais antigos do que suas contrapartes na unidade de origem.

/ W - Espera que você insira um disco antes de iniciar o processo de substituição.

Exemplos

substitua * .dat a: / u

O "/ u" é muito importante. Significa "update" e diz ao comando replace para copiar apenas os arquivos de origem que (a) também são encontrados no diretório de destino e quais (b) são mais recentes que seus equivalentes no diretório de destino.

Você também pode usar substituir para copiar somente os arquivos que não existem no diretório de destino - ou seja, apenas novos arquivos. Por exemplo:

substitua * .dat a: / a

Isso é interpretado como 'copy to the a: direciona todos os arquivos no diretório atual com uma extensão ".dat" que ainda não estão presentes na unidade a:

Para manter uma cópia de backup atualizada de todos os arquivos em um determinado diretório do disco rígido, você pode usar o seguinte par de comandos de substituição:

substitua c: \ india a: \ india / u

substitua c: \ india a: \ india / a

    
por 19.03.2018 / 00:37