Copie vários arquivos usando o Powershell


0

Como posso copiar todos os arquivos do tipo: docx de todos os diretórios sob e incluindo, por exemplo, D: \ Doc_Source, para destino E: \ Doc_Destination, em lotes de, por exemplo, 500 e somente quando não houver nenhum em E: \ Doc_Destination, exceto se eles têm string 'somestring' no nome do arquivo ..?

Eu realmente aprecio qualquer ajuda que eu vou fazer sobre isso - eu sou muito novo no PowerShell e agradeço antecipadamente.

Respostas:


0

exceto se eles tiverem string 'somestring' no nome do arquivo ..?

Eu suponho que você deseja excluir com base no nome do arquivo, em caso afirmativo, altere $ exclude = "text" para igualar o que você deseja excluir.

$source="D:\Doc_Source"
$dest="E:\Doc_Destination"
$ext="*.docx"
$exclude="text"

$files = Get-ChildItem -recurse $source -Filter $ext | Where-Object {$_.Name -NotMatch $exclude}

ForEach ($file in $files) {
    Copy-Item -Path $file.Fullname -Destination $dest -Force 
}

Só percebi que perdi a parte dos lotes, isso irá copiar todos os arquivos de uma só vez. Eu vou falar com você sobre isso.
CML

Você está olhando para copiar 500 e depois fazer uma pausa?
CML

Eu acho que VERIFIQUE se DESTINO tem ZERO, então COPY 500 e PAUSE, e VERIFIQUE
SE

Alguém mais capaz de adicionar ao trabalho CML começou?
vixbix
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.