【问题标题】:Using powershell archive individual files with winrar command line使用带有 winrar 命令行的 powershell 归档单个文件
【发布时间】:2022-11-15 12:40:33
【问题描述】:

我正在努力使用带有 winrar 的 PowerShell 命令存档文件

文件夹中有一些文本文件N:\Download: abc.txt, xyz.txt

我想得到输出:N:\Download: abc.rar, xyz.rar 并在存档后删除文本文件。 以及如何设置最大压缩级别?

https://documentation.help/WinRAR/HELPSwM.htm

这是我的示例脚本

$Source = get-ChildItem -path N:\Download -filter "*.txt"
$Rarfile = "C:\Program Files\WinRAR\WinRAR.exe" 
$Dest = "N:\Download"

&$WinRar a $Source.Fullname $Dest

【问题讨论】:

    标签: powershell winrar


    【解决方案1】:

    来自documentation

    • 要在归档后删除文件,请使用-df 开关
    • 要设置压缩级别,请使用-m<n> 开关

    注意,您已经在变量$Rarfile 中定义了winrar.exe 文件的完整路径,但稍后您使用未定义的变量$WinRar..

    如果您想为每个源文件分别创建一个 .rar 文件,您将需要一个循环来构造输出 .rar 文件名

    尝试

    $WinRar = "C:Program FilesWinRARWinRAR.exe" 
    $Dest   = "N:Download"
    
    (Get-ChildItem -Path 'N:Download' -Filter '*.txt') | ForEach-Object {
        $outFile = Join-Path -Path $Dest -ChildPath ('{0}.rar' -f $_.BaseName)
        & $WinRar a -m4 -df $outFile $($_.Fullname)
        # or use 
        # & $WinRar m -m4 $outFile $($_.Fullname)
    }
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 2012-08-17
      • 2019-06-10
      相关资源
      最近更新 更多