是否可以在命令行中从文件夹创建 .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 文件的命令行(compress
Server 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