gpt4 book ai didi

powershell - 如果文件匹配,则递归删除DIR? (电源外壳)

转载 作者:行者123 更新时间:2023-12-02 23:16:35 24 4
gpt4 key购买 nike

我想知道是否有人知道如何删除目录中的指定文件?例如,如果具有以下目录:

PS C:\Users\mike> dir


Directory: C:\Users\mike


Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 9/17/2009 6:26 PM 6615 pic001.jpg
-a--- 9/19/2009 9:58 AM 7527 notes.txt
-a--- 8/31/2009 5:03 PM 10506 Project.xlsx

我想删除。\ mike(如果其中包含jpg文件)以及其他包含.jpg文件的目录。如果目录中没有指定文件,则不应删除该文件。

到目前为止,我所拥有的是:
get-childitem "C:\Users\mike" -include *.jpg -recurse | Where-Object { $_.mode -like 'd*' } | remove-item

最佳答案

当对* .jpg使用Get-ChildItem时,只会获取文件-除非您有一个名为{something} .jpg的目录。顺便说一句,我将使用-filter并远离-include参数。塔尔是龙-请参阅有关该参数的文档。

这应该为您解决问题:

Get-ChildItem 'C:\Users\Mike' *.jpg -r | Foreach {$_.Directory} | 
Remove-Item -Recurse -Verbose -WhatIf

如果键入,请使用别名将其缩短为:
gci 'C:\Users\Mike' *.jpg -r | %{$_.Directory} | ri -r -v -wh

当您对结果感到满意时,请删除-WhatIf以使其真正删除目录。

关于powershell - 如果文件匹配,则递归删除DIR? (电源外壳),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1468969/

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