【发布时间】:2012-12-05 17:32:19
【问题描述】:
我正在尝试使用 powershell 将文件添加到 zip 文件中
我可以创建 zip 文件,但不知道如何将我的文件添加到其中
我正在使用
$zipfilename = 'c:\cwRsync\backup.zip'
$file = 'c:\cwRsync\backup.log'
set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
(dir $zipfilename).IsReadOnly = $false
$zipfile = (New-Object -ComObject shell.application).NameSpace($zipfilename)
$zipfile.MoveHere($file.FullName)
这会创建 zip 文件,但不会添加新文件
我尝试了在 stackoverflow 上找到的以下代码
$zipfilename = "a.zip"
set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
$app = new-object -com shell.application
$zip = ( get-item a.zip ).fullname
$folder = $app.namespace( $zip )
$item = new-item file.txt -itemtype file -value "Mooo" -force
$folder.copyhere( $item.fullname )
但是添加了一个由 powershell 创建的文件,而我想添加一个现有的文件
任何帮助将不胜感激
【问题讨论】:
-
通过将 $zipfile.MoveHere($file.FullName) 更改为 $zipfile.MoveHere($file) 并在脚本末尾添加 sleep 1 使其工作,问题似乎是由当我从命令行调用脚本时
标签: powershell zip