コピーするとエラーの原因となるアイテムを除外して、あるディレクトリから別のディレクトリに再帰的にコピーします。Powershellはコピーしないときにアイテムを除外します
変数 "$ Excluir"に "System Volume ..."と "RECYCLE.BIN"という値しかないのに、ドットで始まるすべての項目を除外する必要があるときはうまくいきました。 " $ Excluirバリアブルに新しい値を追加するループを書きました。
"-Exclude"パラメータは、新しい値を除外することを忘れてしまいました。この場合、これらの値はドットで始まるファイルとディレクトリの名前です。
私の英語が混乱を引き起こす場合は、申し訳ありません。
これは私のコードです:
$RutaOrigenFicheros = "E:\"
$RutaTempFicheros = "A:\ENTRADA\TMP\"
$Excluir = @("System Volume Information","`$RECYCLE.BIN")
$ElementosOcultosUnix = Get-ChildItem $RutaOrigenFicheros -Name -Recurse -Include ".*"
foreach ($i in $ElementosOcultosUnix){
if ($i -match "\\")
{
$elemento = $i -split "\\"
$n = ($elemento.length) - 1
$Excluir += $elemento[$n]
}
else
{
$Excluir += $i
}
}
Write-Host $Excluir
Copy-Item -Path $RutaOrigenFicheros* -Destination $RutaTempFicheros -Recurse -Force -Exclude $Excluir -ErrorAction Stop
あなただけがファイルをコピーしていますか、またはディレクトリが含まれていますか? – TheIncorrigible1
その再帰的なので、両方とも – tributoo2
私は意図をもっと求めていました。したがって、ピリオドで始まるもの以外のすべてのファイル/フォルダ、または例の2つの名前付きファイル(システムボリューム情報と$ RECYCLE.BIN? – TheIncorrigible1