Я пытаюсь Remove-Item
работать, чтобы удалить все XML-файлы в моем исходном пути сценария powershell. Он не извлекает никакой ошибки .. Но он также не удаляет файлы.
Remove-Item –path $SourcePath* -include *.xml –recurse -force
SourcePath
является правильным, потому что скрипт отлично работал в своей предыдущей части.
Почему он не удаляет файлы, если копирует прямо в конечные файлы папки назначения?
Param (
[Parameter(Mandatory = $True)][String]$SourcePath,
[Parameter(Mandatory = $True)][String]$DestinationPath,
[Parameter(Mandatory = $True)][ValidateSet("utf8")][String]$Encoding
)
$Files = Get-ChildItem $SourcePath -include *.xml -Recurse
If ($Files.Count -gt 0) {
If (!($DestinationPath.Substring($DestinationPath.Length - 1) -eq "\")) {
$DestinationPath = $DestinationPath + "\" + $Files[0].Directory.Name + "\"
}
Else {
$DestinationPath = $DestinationPath + $Files[0].Directory.Name + "\"
}
If (!(Test-Path -Path $DestinationPath)) {New-Item -ItemType Directory -Path $DestinationPath | Out-Null}
ForEach ($File in $Files) {
Write-Host "Read and Convert $($File.Name)" -ForegroundColor Cyan
Get-Content $File.FullName | Set-Content -Encoding $Encoding ($DestinationPath + $File.Name) -Force -Confirm:$false
Remove-Item –path $SourcePath* -include *.xml –recurse -force
}
Write-Host "Conversion of $($Files.Count) Files to $Encoding in $DestinationPath completed" -ForegroundColor Green
}
Else {
Write-Host "Source-Directory empty or invalid SourcePath." -ForegroundColor Red
}