以下のような状況で、すべてのjarファイルをできるだけ楽に解凍する方法:

Windows(DOS)で、今いるディレクトリの下にたくさんのフォルダがあります(複数階層)。
そのフォルダの中に0〜4個程度のjarファイルが存在しています(jar以外のファイルも存在しています)
今いるフォルダで、スクリプトを一発動かせば全部のjarが、そのjarがある場所に解凍される(スクリプトじゃなくてGUIツールでもかまいません)

というようなものです。よろしくおねがいします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/06/18 17:09:13
  • 終了:--

回答(2件)

id:ponta_3rd No.1

ponta3rd回答回数196ベストアンサー獲得回数02004/06/18 17:28:49

ポイント25pt

jarコマンドを直接たたいてはいかがでしょうか。

id:pena2

jar cvfr . のようにして再帰的に現在のフォルダの下部フォルダ内にある jar ファイルを解凍してくれるようなオプション等があればご指摘の方法で良いのですが、リンク先の情報だけでは解決策を見つけられませんでした。

 方法があれば、より具体的に提示いただけると幸いです。

2004/06/18 17:47:48
id:ponta_3rd No.2

ponta3rd回答回数196ベストアンサー獲得回数02004/06/18 17:55:31

ポイント25pt

http://www.hatena.ne.jp/1086680518

DOSコマンドについて、お尋ねいたします。あるフォルダに格納されている各フォルダ、各ファイルのタイムスタンプを取得しようと思います。OSはWinXP/Proです。 DOS窓(コマ.. - 人力検索はてな

お時間頂ければ、作成は出来ますが、

3時間後くらいなので、やり方だけ。

リンク先のイメージでいけると思います。

お待ち頂くか、このコメントでどなたか作成してくださるか。

中途半端ですみません(ポイントは不要です。)

3時間待っていただければ、対応できますが、他の方が応えたれたら、その方に依頼してください。

id:pena2

ありがとうございます。これくらいコードが必要なのですね。なんとなくワンラインでできないかぁと漠然とイメージしていたので、こんな感じでしたら別途自分でスクリプト組んでみます(vbsはわからないので、cygwin上で何かすることになるかなぁ、と思います)  

 どうもありがとうございました。

 また、作成のお申し出、たいへん恐縮です。大丈夫、自分でやってみます:-)

2004/06/18 18:08:45
  • id:kacchan6
    フリーソフトで

    eoという解凍ソフトを使うと、徹底解凍という機能があり、
    アーカイブの中のアーカイブを解凍してくれます。
    もちろんjarは内部的にzipなので、解凍できます。
  • id:ponta_3rd
    りょうかいです

    即対応できなくてすみません。
    cygwinを使いこなせるのであれば、
    それほど難しいスクリプトでは無いと思います。
    がんばってください。
  • id:mmz
    Re:りょうかいです

    僕も上の方のとおりだと思います。ひょっとすると水を注すかも知れませんが、

    find . -name ’*.jar’ -exec jar xf {} ¥;

    こんな感じかな?ちゃんと表示されてるかな?(¥だけ全角にしてみた)
    スクリプトですらありません。コマンド一発。

    ただたくさんあると同じフォルダにたくさん出来てどんどん上書きされていきそうですが。
  • id:ponta_3rd
    Re(2):まったくもって(苦笑)

    確かに、eoの場合はうまく良くかもしれません。
    (実は、はじめに思いついたにですが、他の圧縮形式も徹底回答されるので駄目だってきってしまったんです)

    よくよく考えれば、一度、対象フォルダ丸ごとをjarに圧縮後、
    jarのみを徹底回答すれば同様の結果が得られそうですね。
    1日たってのコメントなので、観てくださっているか。


    >僕も上の方のとおりだと思います。ひょっとすると水を注すかも知れませんが、
    >
    >find . -name ’*.jar’ -exec jar xf {} ¥;
    >
    >こんな感じかな?ちゃんと表示されてるかな?(¥だけ全角にしてみた)
    >スクリプトですらありません。コマンド一発。
    >
    >ただたくさんあると同じフォルダにたくさん出来てどんどん上書きされていきそうですが。
    >

    このコマンドってひとつの場所で、同じ場所にすべてのjarの展開になりませんか?
    間違ってたらごめんなさいね。
    ps
    windowsを対象にされた質問でしたので、あとでシェルでってコメントされたときは、「うっ」てなりました。

    質問されて方にはお手間をおかけしちゃいました。
    すみません。
  • id:mmz
    Re(3):まったくもって(苦笑)

    >>find . -name ’*.jar’ -exec jar xf {} ¥;
    >>
    >>こんな感じかな?ちゃんと表示されてるかな?(¥だけ全角にしてみた)
    >>スクリプトですらありません。コマンド一発。
    >>
    >>ただたくさんあると同じフォルダにたくさん出来てどんどん上書きされていきそうですが。
    >>
    >
    >このコマンドってひとつの場所で、同じ場所にすべてのjarの展開になりませんか?
    >間違ってたらごめんなさいね。

    もう終わってるっぽいですが、補足です。
    ご指摘のとおり、同じ場所に全てのjarの展開になります。
    ただ、普通は別のjarであれば内部は別のパッケージのはずなので問題ないと思われます。
    では。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません