[英]How can I recursively delete folder with numerical names using PowerShell
[英]How can I recursively delete folder with a specific name with PowerShell?
我可以使用以下命令刪除多個文件夾中具有特定擴展名的文件:
Get-childitem * -include *.scc -recurse | remove-item
但我還需要刪除具有特定名稱的文件夾 - 特別是當您從 subversion 存儲庫中提取文件時 subversion 創建的文件夾(“.svn”或“_svn”)。
這一個應該這樣做:
get-childitem -Include .svn -Recurse -force | Remove-Item -Force -Recurse
其他版本:
$fso = New-Object -com "Scripting.FileSystemObject"
$folder = $fso.GetFolder("C:\Test\")
foreach ($subfolder in $folder.SubFolders)
{
If ($subfolder.Name -like "*.svn")
{
remove-item $subfolder.Path -Verbose
}
}
我傾向於避免在Get-ChildItem
上使用-Include
參數,因為它比-Filter
慢。 但是在這種情況下(因為它不能表示為-Filter
),這就是我將使用的:
Get-ChildItem . -Include .svn,_svn -Recurse -Force | Remove-Item -Recurse -Force
或者如果在提示符下輸入:
ls . -inc .svn,_svn -r -fo | ri -r -fo
遞歸刪除具有特定名稱的文件夾-Filter
比-Include
快得多。
因此,為了可見性,這是@Keith 答案的更快版本:
完全打字:
Get-ChildItem -Filter .svn -Recurse -Force | Remove-Item -Recurse -Force
簡短版本:
ls . -filter .svn -r -fo | ri -r -fo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.