【问题标题】:Trying to extract files from zip powershell excluding .inf试图从 zip powershell 中提取文件,不包括 .inf
【发布时间】:2015-01-24 17:43:00
【问题描述】:

Trying to extract just .sql files from zip powershell

参考上面的链接,制作了一个 powershell 脚本来仅提取 .sql 文件。

有没有办法扭转这种情况,所以它会从 Zip 文件中提取除 .Inf 文件之外的所有内容。

任何帮助都将不胜感激,因为我的 powershell 技能几乎没有。

$shell = New-Object -COM 'Shell.Application'

$zipfile     = 'C:\Powershell\From here\1-5'
$destination = 'C:\Powershell\To Here'
$zip = $shell.NameSpace($zipfile) 

$zip.Items() | ? { $_.Path -notlike '*.inf' } | % {
  $shell.NameSpace($destination).CopyHere($_)
}

【问题讨论】:

  • 文件全名是什么? $zipfile 似乎没有指向有效 zip 文件的路径。
  • 它们的设置方式是在 C 中名为“Powershell”的普通文件夹中设置:然后在另一个名为“From Here”的普通文件夹中,然后在其中有三个名为“1-5”、“6-10”和“11-15”。然后在每个文件夹中,还有另外 5 个相应标记为 1-15 的 zip 文件夹。以及 2 个 .inf 文件。在每个最终的 zip 文件夹中都有一个文本文件。

标签: powershell zip


【解决方案1】:

如果您发布代码会很有帮助,但通常您可以使用-notlike-notmatch 之类的运算符来实现您想做的事情。

【讨论】:

  • 代码现在在上面。它会抛出一个错误,指出“您不能在空值表达式上调用方法。”
  • @user3586898 您的 zip 文件的路径缺少扩展名,这就是 $zip 为空的原因,路径应该类似于 $zipfile = "C:\powershell\from here\1-5.zip"
  • 好的,就是这样。谢谢你。我想你不知道怎么做,所以它会扫描所有目录而不是指定文件夹?
  • @user3586898 如果可行,请接受答案,对于您的第二个问题,我建议您查看Get-Childitem cmdlet(这是一篇解释基本用法的文章:technet.microsoft.com/en-us/library/ee176841.aspx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-16
相关资源
最近更新 更多