无法使用 shell.application 创建 zip 文件

无法使用 shell.application 创建 zip 文件

以下示例似乎不适用于我的 Windows Server 2008 SP2 和 Windows 7 Pro Sp1。

命令:

$shellapp = new-object -com shell.application
$shellapp

输出:

Application         Parent
-----------         ------
System.__ComObject  System.__ComObject

命令:

$zipfile = $shellapp.namespace("c:\temp\file.zip")
$zipfile

输出:没有输出?(我假设它不起作用并且 $zipfile 为空)

命令:

$zipfile.copyhere("c:\temp\file.txt")

输出:

You cannot call a method on a null-valued expression.
At line:1 char:18
+ $zipfile.copyhere <<<< ("file.txt")
    + CategoryInfo          : InvalidOperation: (copyhere:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

我尝试重新关联.Zip以下说明:如何恢复 Windows 默认 Zip 文件功能?

我也尝试过重新注册,但是regsvr32.dll zipfldr.dll没有成功。

答案1

这不是创建新的 zip 文件。这是将文件添加到现有 zip 文件。在您的示例中,C:\temp\file.zip 必须已经存在。

编辑:

function New-Zip
{
    param([string]$zipfilename)
    set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
    (dir $zipfilename).IsReadOnly = $false
} 

相关内容