【问题标题】:Powershell , remove folder with the same name like .zipPowershell,删除同名的文件夹,如 .zip
【发布时间】:2016-08-01 16:41:13
【问题描述】:

我必须删除从 zip 文件中提取的文件到以该 zip 文件命名的文件夹中,即:

\test1.zip -> \test1

我的脚本必须找到与 zip 文件同名的文件夹并删除该文件夹。

【问题讨论】:

  • 你的意思是如果一个文件夹包含文件“TheArchive.zip”和文件夹“TheArchive”然后删除那个文件夹?
  • 是的,确切地说,例如。在文件夹 c:/temp 中有文件 test1.zip 和文件夹 test1。然后删除文件夹test1,留下test1.zip

标签: powershell duplicates zip directory


【解决方案1】:

获取目录中所有 Zip 文件的列表,然后遍历结果并删除具有相同名称但不包含扩展名的任何文件夹,也称为 BaseName

Get-ChildItem -Filter *.zip | `
  ForEach-Object { if (Test-Path $_.BaseName) {
    Remove-Item -Recurse -Force $_.BaseName }
  }

您可以在一行中输入整个命令,我已将其拆分,以便在此处阅读。我在这个例子中使用了以下命令:

  • Get-ChildItem - 在管道中为每个扩展名为 .zip 的文件创建一个对象
  • ForEach-Object - 只允许您对管道中的每个对象执行一个操作。
  • Remove-Item - 注意-Recurse-Force 的使用确保即使文件夹包含文件也会被删除,不会要求您确认。

【讨论】:

  • 谢谢,我不会这么做的。
  • @mino:如果这个答案解决了您的问题,请考虑接受它作为答案并支持它。这向社区和其他用户表明此答案解决了您的问题。
猜你喜欢
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多