在Windows中,你可以压缩一些文件

右键单击→发送到→压缩(压缩)文件夹

双击.zip文件解压缩并解压缩文件。

是否有一种方法可以从脚本(.bat文件)应用这些功能,而不需要安装任何第三方软件?


当前回答

为了扩展Steven Penny的PowerShell解决方案,你可以通过调用PowerShell .exe将其合并到一个批处理文件中,就像这样:

powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('foo.zip', 'bar'); }"

正如Ivan Shilo所说,这在PowerShell 2中行不通,它需要PowerShell 3或更高版本和. net Framework 4。

其他回答

在2013年,这是不可能的。微软没有为此提供任何可执行文件。

看这个链接,一些VBS的方法来做到这一点。 https://superuser.com/questions/201371/create-zip-folder-from-the-command-line-windows

从Windows 8开始,.NET Framework 4.5默认安装,有system . io . compress . ziparchive和PowerShell可用,你可以写脚本来实现这一点,见 https://stackoverflow.com/a/26843122/71312

这个对我来说很管用(在2021年):

tar -xf test.zip

这将解压缩当前目录中的测试。

可以使用此命令压缩整个文件夹及其子文件夹

/c /s " c:\Temp\my_folder" /I /Q

来解压

compact /u /s:"C:\Temp\my_folder" /I /Q

c代表压缩,u代表解压

如果你安装了Java,你可以使用jar命令压缩成ZIP文件:

jar -cMf targetArchive.zip sourceDirectory

创建一个新的归档文件。 M =指定清单文件不应添加到存档。 f =目标文件名。

使用7 - zip:

Zip:你有一个文件夹foo,想把它压缩到myzip.zip

"C:\Program Files\7-Zip\7z.exe" a  -r myzip.zip -w foo -mem=AES256

解压:你想解压它(myzip.zip)到当前目录(./)

"C:\Program Files\7-Zip\7z.exe" x  myzip.zip  -o./ -y -r