【发布时间】:2019-05-14 21:25:41
【问题描述】:
我整理了一个用于删除特定文件夹的简单 powershell 脚本:
gci -include .vs -recurse | remove-item -force -recurse
但是 .vs 文件夹不会被删除(如果点被删除,那么名为“vs”的文件夹会被删除)。我一定是错过了什么。
$PSVersionTable.PSVersion
报告:
Major Minor Build Revision
----- ----- ----- --------
5 1 16299 666
我通过文件浏览器“右键单击 -> 运行 Powershell 脚本”运行脚本。不知道这是否会使脚本在最新最好的 powershell 版本下运行。
更新:
原来罪魁祸首是 .vs 文件夹被标记为“只读”。由于某种原因,即使确实指定了“-force”标志,powershell 脚本也无法将其删除。对此有什么可以做的吗?
【问题讨论】:
-
什么版本的powershell?我无法在 5.1 中重现这一点。它似乎对我有用。
-
使用
-filter而不是-include -
我已经更新了提到Powershell版本的答案。我试过 -filter 但它也没有用。我应该提一下,当在同一目录中打开 .sln 文件时,Visual Studio 会自动创建 .vs 文件夹。它被标记为只读+隐藏在属性中,以防它有任何意义。
-
所有优秀的 IDE 和文本编辑器都可以做到这一点。创建此文件夹是为了缓存文件并改善您的体验。此外,以
.开头的文件夹默认隐藏在 *nix 上,在 Windows 上,您还必须将hidden属性设置为 true 或 false。这有助于您在 *nix 机器上打开项目。 -
我知道你提到的一切。如何通过脚本自动删除这些点文件夹,这就是这里的问题:)
标签: windows shell powershell scripting