使用 Powershell 将多个文件添加到 Winrar 存档中
Adding Multiple files into Winrar archive with Powershell
我有一个脚本,用于将多个文件添加到 Winrar 存档、测试存档,然后删除原始文件。它很好用,然后我把它弄坏了,现在无法修复。
现在的问题是,对于我添加到存档中的每个文件,都会弹出一个新的 Winrar window 并告诉我另一个进程正在使用一个文件。
此处的 powershell 可能没问题,但我认为我对 rar 命令 and/or 路径做错了。
提前感谢您的任何建议。
set-alias rar "c:\Program Files\WinRAR\WinRAR.exe"
$startdate = get-date("7/20/2015 00:00")
$enddate = get-date("7/21/2015 00:00")
$path = "D:\TFS.Backup"
$files = Get-ChildItem $path | Where-Object {$_.creationtime -gt $startdate -and $_.creationtime -lt $enddate}
$filedate = $startdate.day
$fileyear = $startdate.year
$filemonth = $startdate.month
$rarname = "$fileyear-$filemonth-$filedate.rar"
$destination = "$path\archive"
foreach ($file in $files) {rar a -r -m3 -t -df -mt4 $destination$rarname $path$file}
首先,您应该使用 $file.fullname
而不是 $path$file
,以便更好地练习。其次,使用 rar.exe
而不是 winrar.exe
通过命令行归档,因为 rar.exe
是一个控制台应用程序,它不会释放脚本继续下一个文件,直到这个文件被添加到存档中。此外,可能需要在 rar
.
之前使用 &
我有一个脚本,用于将多个文件添加到 Winrar 存档、测试存档,然后删除原始文件。它很好用,然后我把它弄坏了,现在无法修复。 现在的问题是,对于我添加到存档中的每个文件,都会弹出一个新的 Winrar window 并告诉我另一个进程正在使用一个文件。
此处的 powershell 可能没问题,但我认为我对 rar 命令 and/or 路径做错了。
提前感谢您的任何建议。
set-alias rar "c:\Program Files\WinRAR\WinRAR.exe"
$startdate = get-date("7/20/2015 00:00")
$enddate = get-date("7/21/2015 00:00")
$path = "D:\TFS.Backup"
$files = Get-ChildItem $path | Where-Object {$_.creationtime -gt $startdate -and $_.creationtime -lt $enddate}
$filedate = $startdate.day
$fileyear = $startdate.year
$filemonth = $startdate.month
$rarname = "$fileyear-$filemonth-$filedate.rar"
$destination = "$path\archive"
foreach ($file in $files) {rar a -r -m3 -t -df -mt4 $destination$rarname $path$file}
首先,您应该使用 $file.fullname
而不是 $path$file
,以便更好地练习。其次,使用 rar.exe
而不是 winrar.exe
通过命令行归档,因为 rar.exe
是一个控制台应用程序,它不会释放脚本继续下一个文件,直到这个文件被添加到存档中。此外,可能需要在 rar
.
&