답변:
Remove-Item -LiteralPath "foldertodelete" -Force -Recurse
-ErrorAction Ignore
있지만 다른 오류는 숨길 수 있습니다.
Remove-Item './folder/*'
. 모든 폴더의 파일 만 지우려면 모든 리프를 나열하고 Remove-Item cmdlet으로 파이프 할 수 있습니다.Get-ChildItem -Recurse -File | Remove-Item
에서 PowerShell을 제거 힘 답변 : 도움 제거 품목은 말합니다 :
이 cmdlet의 Recurse 매개 변수가 제대로 작동하지 않습니다
해결 방법은 다음과 같습니다.
Get-ChildItem -Path $Destination -Recurse | Remove-Item -force -recurse
그런 다음 폴더 자체를 삭제하십시오.
Remove-Item $Destination -Force
Remove-Item -Recurse -Force $dir
하고 있으며 작동합니다.
Get-Help Remove-Item
후 얻은 Windows 10 확장 설명서 에 문제가 있음을 읽었습니다 Update-Help
...
2018 업데이트
현재 버전의 PowerShell (Windows 10 1809에서 v5.1로 테스트)에서 더 간단한 Unix 구문 rm -R .\DirName
을 사용하여 .\DirName
포함 할 수있는 모든 하위 디렉토리와 파일이 있는 디렉토리를 자동으로 삭제할 수 있습니다. 실제로 많은 공통 Unix 명령이 Linux 명령 행에서와 같은 방식으로 PowerShell에서 작동합니다.
rm -R .\DirName\*
폴더 자체를 삭제하지 않고 폴더를 정리할 수도 있습니다
폴더없이 컨텐츠를 삭제하려면 다음을 사용할 수 있습니다.
Remove-Item "foldertodelete\*" -Force -Recurse
rm -Force -Recurse -Confirm:$false $directory2Delete
PowerShell ISE 에서는 작동하지 않았지만 일반 PowerShell CLI를 통해 작동했습니다.
이게 도움이 되길 바란다. 그것은 나를 bannanas를 몰고 있었다.
PowerShell CLI
개발 중이 아닌 에서 전화를 걸 때이 폴더가 삭제 되었습니다 PowerShell ISE
.
아래는 Michael Freidgeim의 답변을 복사하여 붙여 넣을 수있는 구현입니다.
function Delete-FolderAndContents {
# http://stackoverflow.com/a/9012108
param(
[Parameter(Mandatory=$true, Position=1)] [string] $folder_path
)
process {
$child_items = ([array] (Get-ChildItem -Path $folder_path -Recurse -Force))
if ($child_items) {
$null = $child_items | Remove-Item -Force -Recurse
}
$null = Remove-Item $folder_path -Force
}
}
내 디렉토리가 C : \ users에 있으므로 관리자 권한으로 powershell을 실행해야했습니다.
del ./[your Folder name] -Force -Recurse
이 명령은 저에게 효과적이었습니다.
del
은에 대한 별칭입니다 Remove-Item
.
$LogPath = "E:\" # Your local of directories
$Folders = Get-Childitem $LogPath -dir -r | Where-Object {$_.name -like "*temp*"}
foreach ($Folder in $Folders)
{
$Item = $Folder.FullName
Write-Output $Item
Remove-Item $Item -Force -Recurse
}
폴더를 객체로 가지고 있다면 다음 명령을 사용하여 동일한 스크립트에서 폴더를 만들었다 고 가정 해 봅시다.
$folder = New-Item -ItemType Directory -Force -Path "c:\tmp" -Name "myFolder"
그런 다음 동일한 스크립트에서 이와 같이 제거하면됩니다.
$folder.Delete($true)
$ true-재귀 제거 상태
$LogPath = "E:\" # Your local of directories
$Folders = Get-Childitem $LogPath -dir -r | Where-Object {$_.name -like "*grav*"} # Your keyword name directories
foreach ($Folder in $Folders)
{
$Item = $Folder.FullName
Write-Output $Item
Remove-Item $Item -Force -Recurse -ErrorAction SilentlyContinue
}