如何使用脚本删除Windows中的子文件夹和文件,但不删除父文件夹?

时间:2019-05-09 07:29:46

标签: windows powershell command-line-interface

对于Windows操作系统

d:\test1\test1\archive\*.txt
d:\test2\try\archive\*.txt
d:\test3\model\archive\*.txt

输出类似

d:\test1\
d:\test2\
d:\test3\

使用PowerShell或命令提示符..!

3 个答案:

答案 0 :(得分:2)

由于PowerShell在路径的多个级别上支持wildcards/patterns
就这么简单:

Get-ChildItem D:\test[1-3]\* | Remove-Item -Recurse -Force

运行命令前后的样本树:

> tree /F
D:.
├───test1
│   └───test1
│       └───archive
│               x.txt
│
├───test2
│   └───try
│       └───archive
│               x.txt
│
└───test3
    └───model
        └───archive
                x.txt

> Get-ChildItem D:\test[1-3]\*|Remove-Item -Recurse -Force
> tree /f
D:.
├───test1
├───test2
└───test3

答案 1 :(得分:0)

这确实是您可以在PowerShell中执行的最基本的操作之一。提出问题之前,请尝试进行研究,因为互联网上有成千上万个相同的问题(包括答案​​)。但是,您将看到以下内容:

Get-ChildItem -Path d:\ | Get-ChildItem | Remove-Item 

已更新 这将从D驱动器中获取所有文件夹,然后获取这些文件夹中的所有文件并在离开目录的同时将其删除

答案 2 :(得分:0)

在Powershell中

Get-ChildItem D:\*\* | Remove-Item -Recurse -Force

第一个*代表父文件夹名称