我正在努力使用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 FilesWinRARWinRAR.exe"
$Dest = "N:Download"
&$WinRar a $Source.Fullname $Dest
从文档中
- 要在归档后删除文件,使用-df switch
- 使用-m
开关
注意,您已经在变量$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)
}
如果您不希望WinRar包含文件的文件夹结构,请将-ep开关附加到命令