powershell - 无法使用 Powershell 2.0 压缩文件
问题描述
Q1。我尝试了一些压缩方法,但在我的机器上都没有。我只能使用外部 zip 工具 7z.exe 来压缩文件,但我没有权限在 serverA 中安装 7z.exe 文件,也没有将 powershell 更新到 v5 的权限。当前使用 powershell v2 尝试如下,但没有一个工作。那么,还有其他方法可以向我介绍压缩文件吗?
- 添加类型-程序集“system.io.compression.filesystem”
- 压缩存档
- 添加类型-路径 C:\Reference\Draftdoc.docx
- C:\Reference\Images\diagram2.vsd -CompressionLevel Optimal -DestinationPath
C:\Archives\Draft.Zip
Q2。下面是我正在使用 7z.exe 工具的查询(这个 serverB 确实带有 7z.exe)但我遇到了错误。我想用今天的日期压缩任何文件。
$timestamp = (Get-Date).ToString('yyyy-MM')
$source = "D:\csv\*.csv", "D:\csv2\*.csv"
$target = "D:\CSV2_$timestamp.zip"
$7zip = "D:\Program Files\7-Zip\7z.exe"
#Compressed file
if (-not (test-path $7zip)) {throw '$7zip needed'}
set-alias sz $7zip
sz a -mx=9 $target $source
{
Get-ChildItem $source | Where{$_.LastWriteTime -gt (Get-Date).AddDays(-1)}
}
注意:两台服务器我也需要压缩文件,但服务器 A 没有 7z,但服务器 B 确实带有 7z.exe
解决方案
这应该有效:
Add-Type -Assembly "System.IO.Compression.FileSystem"
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourcePath, $destinationZip)
请参阅添加类型:无法添加类型。找不到用于加载所需程序集的替代方法的程序集“System.IO.Compression.FileSystem”
推荐阅读
- c# - 将数组字节编码为字符串
- swift - 针对 URL 扩展的 iOS15 UTType 弃用
- javascript - 使用 jQuery 在多个页面中的欢乐之旅插件
- gitlab - Gitlab-CI 规则如果/更改没有按预期工作
- python - Python3 掩码字符串
- javascript - 如何从 API 访问数据 ID 以在 React JS 中进行删除操作?data._id 不起作用...需要接受 api id 才能删除 api
- jwt - Laravel 8 多用户认证 JWT
- css - 在 css 中创建一个新的 html 元素
- android - Android NDK Apple SiliconM1 遇到:未知主机CPU架构arm64
- python - 多线程 Pygame