通过winrar命令行使用powershell归档单个文件

beq87vna  于 2022-11-29  发布在  Shell
关注(0)|答案(1)|浏览(197)

我很难使用PowerShell命令和winrar归档文件
文件夹中有一些文本文件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
6ljaweal

6ljaweal1#

documentation

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

请注意,您已在变量$Rarfile中定义了winrar.exe文件的完整路径,但稍后您使用了未定义的变量$WinRar
如果要分别为每个源文件创建一个.rar文件,则需要一个循环来构造输出的.rar文件名
尝试

$WinRar = "C:\Program Files\WinRAR\WinRAR.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)
}

如果不希望WinRar包含文件的文件夹结构,请将-ep开关附加到命令

相关问题