s98545sm さん、こんにちは
よって、ターミナルから
>rar a -m0 -rr5p xxx.rar yyy
のような圧縮をしており、yyy(圧縮対象)の部分の入力をタイプミスする事の防止を目指しています。
の要件ですが、ご自分でこのコマンドをメニューに追加されてみてはいかがでしょうか?
まずシェルスクリプトを作成します。ここでは /home/s98545sm/bin/myrar.sh とします。エラー対応等は省略します。rar コマンドはフルパスで指定した方がいいかもしれません。
- コード: 全て選択
#!/bin/sh
for f
do
rar a -m0 -rr5p "$f".rar "$f"
done
上記のスクリプトを作成したら実行権限を付与しておきます。
- コード: 全て選択
chmod +x ~/bin/myrar.sh
次にこのスクリプトを右クリックメニュー(Open with)から呼び出せるようにデスクトップエントリ(アプリケーションメニュー)を作成します。
ここでは /home/s98545sm/.local/share/applications/myrar.desktop とし、表示名は「My RAR」とします。
これはテキストエディタでもかまいませんし、各デスクトップ環境にはメニューエディタが搭載されているかと思うのでそちらで作成してもかまいません。ポイントは Exec、MimeType、Terminal です。このうち MimeType はメニューエディタでは編集できないかもしれません(KDE 標準のメニューエディタにはありませんでした)。
- コード: 全て選択
[Desktop Entry]
Version=1.0
Type=Application
Name=My RAR
Icon=Terminal
Exec=/home/s98545sm/bin/myrar.sh %F
NoDisplay=false
Categories=
MimeType=inode/directory
StartupNotify=false
Terminal=true
Execこのアプリケーションメニューが呼び出されたときに実行するコマンドです。%F はファイルパスを配列として受け取ります。
MimeType右クリックメニューでこのアプリケーションを表示するファイル形式を指定します。inode/directory はフォルダを対象とします。ファイルを対象とする場合はセミコロン区切りで MIME タイプ(image/jpeg など)を追加します。
Terminaltrue の場合、Exec の処理をターミナルを起動してそこで実行します。false であればターミナルを起動せずに処理が行われます。
その他の項目については
https://developer.gnome.org/desktop-entry-spec/ を参照してください。
これでファイルブラウザでフォルダを右クリックし、アプリケーションで「My RAR」を選択すればターミナルが起動して圧縮が行われます。
私は RAR をインストールしていないのでネット上のマニュアルを見ただけで合っているかどうかはわかりませんが、RAR 環境変数でオプションを渡せるのであればシェルスクリプトにオプションを追加せず、デスクトップエントリに追加すれば1つのシェルスクリプトを複数のデスクトップエントリで使い回しができるのではないかと思います。
- コード: 全て選択
Name=RAR compless level 0
Exec=env RAR="-m0 -rr5p" /home/s98545sm/bin/myrar.sh %F
- コード: 全て選択
Name=RAR compless level 5
Exec=env RAR="-m5 -rr5p" /home/s98545sm/bin/myrar.sh %F
上記の方法は
「1つのフォルダから1つの RAR ファイルを作成する」ものですので、例えば3つのフォルダを同時選択して実行すれば3つの RAR ファイルが作成されます。もし「複数のフォルダから1つの RAR ファイルを作成する」のであればシェルスクリプトの内容は変わります。この場合、「RAR ファイルの名前をどうするか」がポイントになりますが、テキスト入力ダイアログを表示するとなると複雑になるため以下のようにランダムな名前を作成し、後からリネームという方がいいかもしれません。以下のスクリプトは archive_20140928235959vQp.rar というようなファイルを作成します。
- コード: 全て選択
#!/bin/sh
rar a -m0 -rr5p ~/archive_`date +%Y%m%d%H%M%S``mktemp -u XXX`.rar "$@"
ファイル名を完全固定にするのであれば恐らくシェルスクリプトを使用せずともデスクトップエントリのみで処理することも可能だと思いますが誤って上書きしてしまう可能性があります。
タイプミスを減らしたいとのことですが、パス入力中に Tab キーを押せばシェルが補間してくれるのでミスと手間が減るかと思います。
また、ファイルブラウザからターミナルにファイルをドラッグすることでパスの自動挿入ができることもあります(ファイルブラウザとターミナルアプリケーションの組み合わせによってはファイルパスではなく URL を挿入してしまうことがあります)。
どのデスクトップ環境をお使いかお聞きしていないので使えないかもしれませんが、Cinnamon でしたら nemo-terminal というパッケージを導入すればファイルブラウザにターミナルを統合できます。そこにファイルをドラッグすればパスが自動で挿入されます。KDE はファイルブラウザで Shift+F4 を押すとターミナルペインが表示されるのでそこにファイルをドラッグすればパスを挿入してくれます。こういった機能を使ってコマンド入力時の手間を減らすのもありかもしれません。
あとは Wine 経由で Windows 用の RAR(WinRAR でしたっけ?)を使ってみるとかでしょうか。実際に動くかどうかは試してみないとわかりませんが Gold 以上にはなっているので大丈夫かと思われます ->
https://appdb.winehq.org/objectManager. ... on&iId=391