从命令行创建 .zip 文件夹 - (Windows)

从命令行创建 .zip 文件夹 - (Windows)

是否可以在命令行中从文件夹创建 .zip 文件,我不想使用任何第三方可执行文件。

我在考虑‘发送到压缩文件夹’之类的事情,但我不知道该怎么做......

答案1

柏油

Windows 10包括 tar.exe

# example 1
tar.exe -a -c -f out.zip in.txt
# example 2
tar.exe -x -f out.zip

如果你使用的是旧版 Windows,你仍然可以从 libarchive/libarchive

电源外壳

PowerShell 具有压缩档案

# example 1
Compress-Archive in.txt out.zip
# example 2
Expand-Archive out.zip

目录

对于这两种工具,您可以使用文件或目录作为输入。

答案2

想象一下,您想要压缩命令提示符上的同一文件夹,而不打开 powershell 窗口:

powershell Compress-Archive . publish.zip

答案3

我认为 Windows 中没有内置 ZIP 文件的命令行(compressServer 2003 Resource Kit 除外)。您必须使用第三方。每个人都喜欢7zip

答案4

可以从 BAT 运行 PowerShell 脚本。Bat 文件接收要压缩的目录的路径和 zip 文件名作为参数。

@echo off
setlocal

rem First parameter - path to dir to be zipped
rem Second parameter- zip file name
set sourceDir=%1
set zipFile=%2

rem Create PowerShell script
echo Write-Output 'Custom PowerShell profile in effect!'    > %~dp0TempZipScript.ps1
echo Add-Type -A System.IO.Compression.FileSystem           >> %~dp0TempZipScript.ps1
echo [IO.Compression.ZipFile]::CreateFromDirectory('%sourceDir%','%~dp0%zipFile%') >> %~dp0TempZipScript.ps1

rem Execute script with flag "-ExecutionPolicy Bypass" to get around ExecutionPolicy
PowerShell.exe -ExecutionPolicy Bypass -Command "& '%~dp0TempZipScript.ps1'"
del %~dp0TempZipScript.ps1
endlocal

相关内容