在不压缩的 Powershell 上使用 7zip

Posted

技术标签:

【中文标题】在不压缩的 Powershell 上使用 7zip【英文标题】:Using 7zip on powershell without compression 【发布时间】:2014-02-24 12:58:51 【问题描述】:

我在 powershell 上使用 7zip,因为我需要压缩一些文件夹。这是我正在使用的代码:

Set-StrictMode -Version "2.0"
Clear-Host
$7Zip_ProgramPath="C:\Program Files\7-zip\7z"
$Destination = "c:\temp\7ztest41.zip"
$Source = "c:\temp\homes\homeuser002"
$Option = "a"
$Command = "$7Zip_ProgramPath $Option $Destination $Source"
#$Command="C:\Program Files\7-zip\7z a c:\temp\7ztest.zip c:\temp\homes\homeuser002"
$ManagementClass=[System.Management.ManagementClass] "\\.\ROOT\cimv2:Win32_Process"
#kürzer: $$ManagementClass=[WmiClass] "Win32_Process"
$StartupOptions=[WmiClass] "Win32_ProcessStartup"
$StartupOptions.PsBase.Properties["ShowWindow"].Value=1
$null=$ManagementClass.Create($Command,$Null,$StartupOptions)'

我从这个页面得到这个代码:http://www.powershellpraxis.de/index.php/ntfs-filesystem/laufwerke-ordner-dateien-und-freigaben#2.1.2.5.2%20Packen%20mit%207-Zip

一切都很好,除了我不想在使用这种方法时压缩我的文件。我有一个 67 MB 大的文件夹,但压缩此文件夹后只有 55 MB 大。也许我不完全理解这段代码,但我想更改压缩选项并且不知道在哪里以及如何。有人知道吗?

【问题讨论】:

【参考方案1】:

您的命令行仅指定“添加”操作。

$Option = "a"

“添加”选项不会禁用 7z.exe 中的压缩。您需要明确地configure the compression option 指定“不压缩”。

$Option = 'a -mx=0'

【讨论】:

谢谢,这是我正在寻找的选项,但我找不到您所指的页面。我给你答案了。 当我这样写时,7zip 不会启动。是否有其他形式的拼写? 好的,我知道了。 $Option = 'a -mx=0 这对我来说非常好。

以上是关于在不压缩的 Powershell 上使用 7zip的主要内容,如果未能解决你的问题,请参考以下文章

7zip 正在压缩源路径/空变量

Powershell解压缩功能 - 奇怪的行为

如何在不将批处理文件复制到 c 中的 7zip 文件夹的情况下运行 7zip 批处理

使用 powershell 和 7zip 创建存档的脚本

Powershell - 展开存档并重命名文件,因为它包含无效字符

在 Powershell 中读取 ZIP 中的文本文件