gpt4 book ai didi

Powershell - 删除除特定子目录中的项目之外的所有项目

转载 作者:行者123 更新时间:2023-12-04 13:27:55 25 4
gpt4 key购买 nike

我有一个包含大量子目录和文件的目录。
我需要删除除 SubFolder1 下的所有文件。

Initial State:                       Desired Output:

\ \
|_Folder1 |_Folder1
| |_File1.txt |_SubFolder1
| |_File2.xml |_File3.csv
| |_SubFolder1 |_File4.exe
| | |_File3.csv
| | |_File4.exe
| |_Subfolder2
|_Folder2
| |_ <more files here>
|_Folder3 (etc)

所以这是我尝试过的:
Remove-Item * -exclude Folder1\Subfolder1\*

我收到这样的警告:
Confirm
The item at C:\foo\Folder1 has children and the -recurse parameter was not specified.
If you continue, all children will be removed with the item. Are you sure you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"):

当我指定 -recurse ,它会删除每个文件,并且似乎忽略了我的过滤器。

这是怎么回事,正确的做法是什么?

编辑:
我已经包含了一个 zip 文件,其中包含一个 example folder structure如上。如果你想测试一个解决方案,请在那里尝试。我还包含了第二个 zip 文件,其中包含 desired output ,这样您就可以检查它是否正常工作。

最佳答案

(Get-ChildItem c:\folder1\ -recurse | select -ExpandProperty fullname) -notlike 'c:\folder1\subfolder1*' | sort length -descending | remove-item

关于Powershell - 删除除特定子目录中的项目之外的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com