PowerShell:如何删除名称以点开头的文件夹(例如“.svn”)

PowerShell:如何删除名称以点开头的文件夹(例如“.svn”),powershell,Powershell,我试过这个: Remove-Item "C:\foo\.svn" 但这就是我遇到的错误 Remove-Item : Cannot find path 'C:\foo\.svn' because it does no t exist. At line:1 char:12 + Remove-Item <<<< "C:\foo\.svn" + CategoryInfo : ObjectNotFound: (C:\foo\.svn:String) [

我试过这个:

Remove-Item "C:\foo\.svn"
但这就是我遇到的错误

Remove-Item : Cannot find path 'C:\foo\.svn' because it does no
t exist.
At line:1 char:12
+ Remove-Item <<<<  "C:\foo\.svn"
    + CategoryInfo          : ObjectNotFound: (C:\foo\.svn:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand
Remove Item:找不到路径“C:\foo\.svn”,因为它没有
不存在。
第1行字符:12

+移除物品我相信其中一位大师有一种更干净的方法,但这应该是可行的:

gci | where {$_.name -match '.svn'} | remove-item

为我工作,这里没有问题。

可能是由于许可证不正确,需要尝试的一件事是添加-Force标志:

Remove-Item "C:\foo\.svn" -Force
试试这个:

Remove-Item C:\foo\.svn
或者这个:

Remove-Item C:\foo\\.svn

为我工作。

确保该文件确实存在,并且没有未提供的扩展名。试着列出目录的内容,它不是找不到的目录,而且它实际上包含了您认为它包含的文件。

Hmm,这对我很有用。你确定目录存在吗?也许它是隐藏的。如果是,请尝试:

Remove-Item C:\foo\.svn -force -recurse

删除项目“C:\foo\.svn”效果很好。你确定该目录存在吗?我也尝试过,以确保路径正确吗?这是我的实际代码:
删除项“$location\$directory
。但是,如果我使用Get ChildItem的结果对删除项进行管道传输,它会工作。是的,默认情况下,subversion目录是隐藏的。在这种情况下,需要-force。
Remove-Item C:\foo\.svn -force -recurse