用于删除以“。”开头的文件夹的Powershell脚本。不起作用-为什么?

时间:2018-12-13 15:56:54

标签: windows shell powershell scripting

我整理了一个简单的Powershell脚本,用于删除特定文件夹:

gci -include .vs -recurse | remove-item -force -recurse

但是,.vs文件夹不会被删除(如果删除了点,那么删除名为“ vs”的文件夹就可以了)。我一定很想念东西。

$PSVersionTable.PSVersion

返回报告:

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      16299  666

我通过文件资源管理器ala“右键单击->运行Powershell脚本”运行脚本。不知道这是否会使脚本在Powershell的最新和最高版本下运行。

更新:

原来的罪魁祸首是.vs文件夹被标记为“只读”。由于某种原因,即使确实指定了“ -force”标志,PowerShell脚本也无法将其删除。有什么可以做的吗?

1 个答案:

答案 0 :(得分:4)

您在评论中提到要删除的目录同时设置了HiddenReadOnly文件系统属性

-Force调用中的Remove-Item 能够强制删除具有ReadOnly属性,您的输入< / em> Get-ChildItem调用也需要-Force,否则它将找不到隐藏的文件和文件夹,因此Remove-Item也永远不会看到它们:

# Note the -Force added to Get-ChildItem.
Get-ChildItem -Force -Include .vs -Recurse | Remove-Item -Force -Recurse -WhatIf