[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 使用7za命令行将指定路径的zip文件转换为7z加密的文件

我有一个zip文件, 例如下面路径的文件,
我想把这个zip文件使用7za命令行转换为7z加密(同时加密文件名)的压缩文件, 密码是文件名的前6位, 应该怎样写批处理?
注意: 原zip压缩文件中的文件结构要保持不变, 说简单一点就是用文件名的前6位做密码,转换为7z类型的加密的压缩文件

$zipPath = "C:\Users\Administrator\Desktop\ab.cdefg_25.05.03.zip"

现在的ai还是太弱智了, 试了快上百轮了, 就是不行, 下面代码能转成, 但是用密码打不开, 哎
  1. function Convert-ZipTo7z {
  2.     param (
  3.         [string]$zipPath
  4.     )
  5.     # 检查 zip 文件是否存在
  6.     if (-Not (Test-Path $zipPath)) {
  7.         Write-Host "文件 $zipPath 不存在"
  8.         exit 1
  9.     }
  10.     # 获取文件名(不包括路径和扩展名)
  11.     $fileName = [System.IO.Path]::GetFileNameWithoutExtension($zipPath)
  12.     # 获取文件名前 6 位作为密码
  13.     $password = $fileName.Substring(0, 6)
  14.     # 设置输出的 7z 文件路径
  15.     $output7zPath = [System.IO.Path]::ChangeExtension($zipPath, ".7z")
  16.     # 创建一个临时目录来解压缩 zip 文件
  17.     $tempDir = New-Item -ItemType Directory -Path ([System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()))
  18.     try {
  19.         # 解压缩 zip 文件到临时目录
  20.         & 7za x $zipPath -o"$tempDir" | Out-Null
  21.         # 使用 7za 命令行工具将解压后的文件压缩为 7z 加密文件,并加密文件名
  22.         & 7za a -t7z -p$password -mhe=on $output7zPath "$tempDir\*" | Out-Null
  23.         Write-Host "转换完成: $output7zPath"
  24.     }
  25.     finally {
  26.         # 删除临时目录
  27.         Remove-Item -Recurse -Force $tempDir
  28.     }
  29.     # 返回转换后的 7z 文件路径
  30.     return $output7zPath
  31. }
  32. # 调用函数并传递 zip 文件的路径作为参数
  33. $zipPath = "C:\Users\Administrator\Desktop\ab.cdef_25.05.03.zip"
  34. $output7zPath = Convert-ZipTo7z -zipPath $zipPath
  35. Write-Host "输出文件路径: $output7zPath"
复制代码

TOP

解决了, 加上引号就行了

-p"$password"

TOP

  1. 7z u "C:\Users\Administrator\Desktop\ab.cdefg_25.05.03.zip" -p123456 -u- -up1!new_new.7z "*.@@#1i($$)i1#@@"
复制代码

TOP

回复 4# Five66


    不行, 我试了, 新生成的7z文件没有被加密

TOP

返回列表