読者です 読者をやめる 読者になる 読者になる

#PPx タスクトレイに入れないでバックグラウンドで圧縮

バックアップを取るときなどに、7z(7-ZIP64.DLL)や、WinRARで圧縮してるのですが、バックグラウンドで圧縮するスイッチが見当たらない(自分の検索が足りないだけかも)

WinRARは-IBCKでバックグラウンドで実行してくれるようですが、タスクトレイに入ってしまう。

圧縮はPPCからしか実行しないので、カスタマイズでどうにかしたかったのですが、PPTrayからフォーカスをPPCに戻せばいいだけでした。

KC_main = {
^B    ,%"7z(MAX)"%u7-ZIP64.DLL,a -t7z -mx=9 %ef"%{z:\%|%X-%*nowdatetime(y-N-D).7z%}" %@%FDC %S"-r"%:*wait 58%:*pptray -c *focus C
\B	,%"rar(MAX)" winrar a -m5 "%{z:\%|%X-%*nowdatetime(y-N-D).rar%}" %@*%FDC%:*wait 58%:*pptray -c *focus C
P ,%"zip(Lv1)"%u7-ZIP64.DLL,a -tzip -mx=1 %ef"%{Z:\%|%X.zip%}" %@%FDC %S"-r"%:*wait 58%:*pptray -c *focus C ^P ,%M_xzip,5
}
M_xzip    = {
zip(Lv&0)	= %u7-ZIP64.DLL,a -tzip -mx=0 %ef"%{%FD\%|%X.zip%}" %@ %S"-r"%:*wait 58%:*pptray -c *focus C
zip(Lv&5)	= %u7-ZIP64.DLL,a -tzip -mx=1 %ef"%{%FD\%|%X.zip%}" %@ %S"-r"%:*wait 58%:*pptray -c *focus C
rar(Lv&3)	= winrar a -m3 "%{%FD\%|%X.rar%}" %@*%FDC%:*wait 58%:*pptray -c *focus C
}
  • Ctrl+B 7z(最高)
  • Shift+B rar(最高)
  • P zip(最速)
  • Ctrl+P メニュー表示/zip(無圧縮)、zip(標準)、rar(標準)

WinRARや7zの窓が表示されたら、少し間隔を開けて、PPTrayから -c *focus でフォーカスをPPCに戻してるだけです。さっきまでPPTrayからもコマンドを実行できるのを知らず、%Oniを指定したPPbから同じ事をしてました。

f:id:k9q:20130509042416p:plainf:id:k9q:20130509042418p:plain

追記(13/5/11):

WinRarで利用するレスポンスファイルを%@から%@*%FDCにして、winrar.exeのスイッチ -rサブディレクトリを再帰的に処理)をオフに。修正前は、サブディレクトリに同名ファイルがあると、巻き込んで圧縮してしまうようです。

7zとzip圧縮は、こちら(defcust.txt)のM_xpackを参考。こちらはデフォルトカスタマイズなので安心ですね。

追記(13/06/02)

やり方を変えました。

KC_main = {
^B    ,%"7z(MAX)"%u7-ZIP64.DLL,a -t7z -mx=9 %ef"%{z:\%|%X-%*nowdatetime(y-N-D).7z%}" %@ %S"-r"%:%k"^CTRL"
\B	,%"rar(rr3%-MAX)" winrar a -m5 -rr3p "%{z:\%|%X-rr3p-%*nowdatetime(y-N-D).rar%}" %@*%FDC%:%k"^CTRL"
P	,%"zip(Lv1)"%u7-ZIP64.DLL,a -tzip -mx=1 %ef"%{Z:\%|%X.zip%}" %@ %S"-r"%:%k"^CTRL"
^P	,%M_xzip,5
}
M_xzip	= {
zip(Lv&0)	= %u7-ZIP64.DLL,a -tzip -mx=0 %ef"%{%FD\%|%X.zip%}" %@ %S"-r"%:%k"^CTRL"
zip(Lv&5)	= %u7-ZIP64.DLL,a -tzip -mx=1 %ef"%{%FD\%|%X.zip%}" %@ %S"-r"%:%k"^CTRL"
rar(Lv&3)rr3%	= winrar a -m3 -rr3p "%{%FD\%|%X.rar%}" %@*%FDC%:%k"^CTRL"
--	= 
個別圧縮 zip(Lv&1)	= %"zip(Lv1)"%u7-ZIP64.DLL,a -tzip -mx=1 %ef"%{Z:\%|%X.zip%}" %FDC %S"-r"%:%k"^CTRL"
}

%kのキーエミュレートを使うと、7-ZIP64.DLLの圧縮ダイアログがポップした後でもPPcにフォーカスが移ってくれるので、%k"^CTRL"で、CTRL+CTRLを押下させ、実質何も入力せずに、PPcへのフォーカス移動だけを利用することに…

*focusを使うフォーカス移動では時々、何も起こらないことがあったので、こちらのが良かった。

あまり、こういう使い方は良くなさそうなんですが、目的の動作になったので使ってます。