जवाबों:
Remove-Item -LiteralPath "foldertodelete" -Force -Recurse
-ErrorAction Ignore, तो वह अन्य त्रुटियों को भी छिपाएगा।
Remove-Item './folder/*':। यदि आप वास्तव में सभी फ़ोल्डरों की केवल फ़ाइलों को खाली करना चाहते हैं, तो आप सभी लीफ़्स को सूचीबद्ध कर सकते हैं और इसे निकालें-आइटम 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प्रलेखन के बाद प्राप्त किया Update-Helpजाता है ...
2018 अपडेट
PowerShell के वर्तमान संस्करण में (विंडोज 10 1809 पर v5.1 के साथ परीक्षण किया गया है) सभी उपनिर्देशिकाओं और फाइलों rm -R .\DirNameमें मौजूद निर्देशिका को चुपचाप हटाने के लिए सरल यूनिक्स सिंटैक्स का उपयोग कर .\DirNameसकते हैं। वास्तव में कई सामान्य यूनिक्स कमांड एक ही तरह से PowerShell में लिनक्स कमांड लाइन की तरह काम करते हैं।
rm -R .\DirName\*स्वयं फ़ोल्डर को हटाने के बिना फ़ोल्डर को साफ करने के लिए भी उपयोग कर सकते हैं
एक फ़ोल्डर के बिना सामग्री को हटाने के लिए आप निम्नलिखित का उपयोग कर सकते हैं:
Remove-Item "foldertodelete\*" -Force -Recurse
rm -Force -Recurse -Confirm:$false $directory2DeletePowerShell ISE में काम नहीं किया , लेकिन यह नियमित PowerShell CLI के माध्यम से काम करता है।
आशा है कि ये आपकी मदद करेगा। यह मुझे बैननेस चला रहा था।
PowerShell CLIविकसित होने के दौरान कॉल करने और न होने पर फ़ाइनली यह फ़ोल्डर हटा दिया गया था PowerShell ISE।
नीचे माइकल फ्रीजिम के उत्तर की कॉपी-पेस्ट करने योग्य कार्यान्वयन है
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 में थी, इसलिए मुझे अपनी शक्तियाँ प्रशासक के रूप में चलानी पड़ीं,
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)
$ सच - पुनरावर्ती हटाने के लिए राज्यों
$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
}
यह मेरे लिए काम किया:
Remove-Item C:\folder_name -Force -Recurse