Powershell 使用Set-ItemProperty时,如何处理名称中带有点的文件夹和文件?

Powershell 使用Set-ItemProperty时,如何处理名称中带有点的文件夹和文件?,powershell,Powershell,我读过那篇文章,但当我尝试 ls "C:\BAF\SILK\" -recurse -include *.* | Set-ItemProperty -name IsReadOnly -Value $false 它给了我一个错误,我发现这是因为其中一个子文件夹的名称“例如Folder.bad”中有一个点。 如何处理此问题?您将获得一个带有通配符规范的目录。*.,即Folder.bad。目录上没有IsReadOnly属性。试试这个: ls C:\BAF\SILK\*.* -r -file | ...

我读过那篇文章,但当我尝试

ls "C:\BAF\SILK\" -recurse -include *.* | Set-ItemProperty -name IsReadOnly -Value $false
它给了我一个错误,我发现这是因为其中一个子文件夹的名称“例如Folder.bad”中有一个点。
如何处理此问题?

您将获得一个带有通配符规范的
目录
。*.,即Folder.bad。目录上没有IsReadOnly属性。试试这个:

ls C:\BAF\SILK\*.* -r -file | ...
这需要PowerShell V3,如果您仍在V2(或V1)上,请执行以下操作:


请显示您得到的错误。哦,非常感谢!我猜IsReadOnly可能是文件的一个属性,您可以为文件夹设置该属性的原因是它实际上为该文件夹中的所有文件设置了该属性,而不是将该属性指定给文件夹。谢谢我正在使用最新的powershell(我有win8,所以他们应该自动拥有v3对吗?@FrozenLand是的,默认情况下Windows 8有powershell 3。
ls C:\BAF\SILK\*.* -r | Where {!$_.PSIsContainer} | ...