gpt4 book ai didi

powershell - 无法使用Powershell 2.0压缩文件

转载 作者:行者123 更新时间:2023-12-02 23:35:20 27 4
gpt4 key购买 nike

Q1。我尝试了几种压缩方法,但都无法在我的计算机上使用。我只是可以使用外部zip工具7z.exe来压缩文件,但是我没有权限在serverA中安装7z.exe文件,也没有权限将Powershell更新到v5。当前使用Powershell v2
尝试如下,但没有一个起作用。那么,还有其他方法可以介绍压缩文件吗?

  • 添加类型-assembly“system.io.compression.filesystem”
  • 压缩存档
  • 附加类型-路径C:\ Reference \ Draftdoc.docx
  • C:\ Reference \ Images \ diagram2.vsd -CompressionLevel最佳
    -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)}
    }

    注意:这两台服务器我也都需要压缩文件,但是ServerA并未附带7z,但是Server B确实随附了7z.exe

    最佳答案

    您将不得不使用更老的 Shell.Application COM Object method

    function Extract-Zip
    {
    param([string]$zipfilename, [string] $destination)

    if(test-path($zipfilename))
    {
    $shellApplication = new-object -com shell.application
    $zipPackage = $shellApplication.NameSpace($zipfilename)
    $destinationFolder = $shellApplication.NameSpace($destination)
    $destinationFolder.CopyHere($zipPackage.Items())
    }
    }

    请注意,我认为这仅适用于Windows Vista或Server 2008或更高版本。据我所知,如果您使用的是Server 2003(而不应该使用),则必须使用第三方软件。

    它应该不言而喻,但是您迫切需要更新服务器。我并不是说您需要安装最新的PowerShell。我的意思是您显然正在使用Server 2008 R2或更早版本,而这是2019年。

    关于powershell - 无法使用Powershell 2.0压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789801/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com