web-dev-qa-db-ja.com

WinRARコマンドラインCLIを使用してqbittorrentから.rarファイルを自動抽出します

Qbittorrentでのトレントのダウンロードが完了した後、オプションメニューから外部プログラムを実行しています。

Tools -> Options -> Downloads --> Run external program on torrent completion

"C:\Program Files\WinRAR\AutoUnRAR.bat" "%F\*.rar" "E:\Downloads\"

AutoUnRAR.batという名前で作成したファイルには、次のコードがあります。

@ECHO off
timeout /t 10 /nobreak
set arg1=%1
set arg2=%2
shift
shift
START "" "C:\Program Files\WinRAR\WinRAR.exe" x "%arg1%" "%arg2"

タイムアウト必須、実行時にqbittorrentから直接これを呼び出していたため:

 "C:\Program Files\WinRAR\WinRAR.exe" x "%F\*.rar" "E:\Downloads\"   

ファイルにはまだ使用中のラベルが付けられ(WinRARコマンド-dhは機能しません)、WinRARは「別のプロセスによって使用されているため、プロセスはファイルにアクセスできません」というエラーを表示します。

ダウンロードが完了し、10秒のカウントダウンが終了すると、WinRARはエラーを出します

fileDIRECTORY\file.rar: No files to extract

フォルダを調べると、ファイルは実際にそこにあり、手動で抽出できます。何らかの理由で.rarファイルを抽出していません。この場合、.r00 .r01 ...と.rarだけのファイルという多くの部分があります。 .rarファイルのみを対象としていますが、いずれかの部分を単独で抽出してもWinRARは問題ありません。

1
Drew Sanislo

WinRARは、「fileDIRECTORY\file.rar:抽出するファイルがありません」というエラーを出します。

START "" "C:\Program Files\WinRAR\WinRAR.exe" x "%arg1%" "%arg2"

上記のコマンドにエラーがあります。"%arg2""%arg2%である必要があります(%がありません)。

したがって、コマンドは次のようになります。

START "" "C:\Program Files\WinRAR\WinRAR.exe" x "%arg1%" "%arg2%"
0
DavidPostill

タイムアウトに.batを使用する必要はありません。これは、qBittorentの[外部プログラムの実行...]フィールドで使用できます。

cmd /c timeout /t 15 & "C:\Program Files\WinRAR\UnRAR.exe" x "%F\*.rar" "%F"

注:このためのコマンドをテストする必要がある場合は、Windowsの[実行]ボックスで試すことができます。

注2:おそらくWinRAR.exeをまだ使用できます。 UnRARは、すべてをバックグラウンドで保持します。

0
Deathnutz