উত্তর:
Remove-Item -LiteralPath "foldertodelete" -Force -Recurse
-ErrorAction Ignore
, যদিও এটি অন্যান্য ত্রুটিগুলিও আড়াল করবে।
Remove-Item './folder/*'
। আপনি যদি সত্যিই সমস্ত ফোল্ডারের কেবল ফাইলগুলি সাফ করতে চান তবে আপনি সমস্ত পাতা তালিকাভুক্ত করতে পারেন এবং এটিকে সরান-আইটেমের সেমিডলেটে পাইপ করতে পারেনGet-ChildItem -Recurse -File | Remove-Item
থেকে PowerShell অপসারণ বল উত্তর : সাহায্য সরান আইটেম বলেছেন:
এই সেমিডলেটে রিকার্স প্যারামিটারটি সঠিকভাবে কাজ করে না
কাজটি করতে আদেশটি হ'ল
Get-ChildItem -Path $Destination -Recurse | Remove-Item -force -recurse
এবং তারপরে নিজেই ফোল্ডারটি মুছুন
Remove-Item $Destination -Force
Remove-Item -Recurse -Force $dir
এবং এটি কার্যকর হয়।
Get-Help Remove-Item
Update-Help
এটি আমার পক্ষে কাজ করেছে:
Remove-Item $folderPath -Force -Recurse -ErrorAction SilentlyContinue
সুতরাং ফোল্ডারটি সেখানে থাকা সমস্ত ফাইলের সাথে মুছে ফেলা হবে এবং ফোল্ডারের পথ উপস্থিত না থাকলে এটি ত্রুটি তৈরি করে না।
2018 আপডেট
পাওয়ারশেলের বর্তমান সংস্করণে (উইন্ডোজ 10 1809-এ v5.1 দিয়ে পরীক্ষা করা হয়েছে) যে কোনও সাব-ডাইরেক্টরি এবং এতে থাকা ফাইল সহ rm -R .\DirName
ডিরেক্টরিটি নিঃশব্দে মুছতে সহজ ইউনিক্স বাক্য গঠন ব্যবহার করতে পারেন .\DirName
। আসলে অনেকগুলি সাধারণ ইউনিক্স কমান্ড লিনাক্স কমান্ড লাইনের মতো পাওয়ারশেলের ক্ষেত্রে একইভাবে কাজ করে।
rm -R .\DirName\*
নিজে ফোল্ডারটি মোছা না করে ফোল্ডারটি পরিষ্কার করতেও ব্যবহার করতে পারেন
কোনও ফোল্ডার ছাড়া সামগ্রী মুছতে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:
Remove-Item "foldertodelete\*" -Force -Recurse
rm -Force -Recurse -Confirm:$false $directory2Delete
পাওয়ারশেল আইএসই তে কাজ করেনি , তবে এটি নিয়মিত পাওয়ারশেল সিএলআইয়ের মাধ্যমে কাজ করে।
আশা করি এটা কাজে লাগবে. এটা আমার বান্না চালাচ্ছিল।
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
}
}
যেহেতু আমার ডিরেক্টরি সিতে ছিল: \ ব্যবহারকারীদের আমাকে প্রশাসক হিসাবে আমার পাওয়ারশেলটি চালাতে হয়েছিল,
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