みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

コマンドラインからzip32j.dllを呼び出しての圧縮。

今、WinXP HE上で、ソフトウェアを使わずに
DOS窓のコマンドラインからzip32j.dllを呼び出し
ファイルを圧縮しようと思ってるのですが、
rundll32からzip32jの中のどの関数を呼び、
どのように引数を渡したらよいのか、
zip32j.dllのソースを調べましたがわかりませんでした。
どなたかご存知の方があれば教えていただきたく思います。

また、もし他の方法をご存知であれば
そちらのほうもお願いします。

投稿日時 - 2004-07-28 10:04:05

QNo.942311

暇なときに回答ください

質問者が選んだベストアンサー

以前TransLha.ocxを使用した
CABファイルにファイルを追加する
スクリプトを作成しました。
参考になれば(VBScriptです)

Set oCb = CreateObject("TransLhaO.TransLha")
oCb.ArcMode=2
oCb.pBaseFolder = "C:\test"
oCb.pFilesClear
oCb.eArcFileName="C:\test\test.cab"
oCb.pAddFile "C:\test\test.txt"
oCb.Pack

投稿日時 - 2004-07-28 10:59:45

お礼

お時間を割いていただき、ありがとうございます。
大変助かりました。

自分はまだJScriptのほうが慣れてるので
次のように書き直させていただいたところ、
うまく動作しました。

var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var otl = WScript.CreateObject("TransLhaO.TransLha");

otl.ArcMode = 1;
otl.pBaseFolder = FSO.GetAbsolutePathName(".\\");
otl.pFilesClear();
otl.pArcFileName = "圧縮先ファイル名.zip";
otl.pAddFile(FSO.GetAbsolutePathName("圧縮元ファイル名"));
otl.Pack();

投稿日時 - 2004-07-28 12:21:48

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ActiveXコンポーネントの
TransLha.ocx等 を利用すれば

VBScriptかJScriptのスクリプトを書いて

コマンドプロンプトから
CScript.exe(Windowsに標準で付いてます)で
スクリプトを呼び出せば可能です。

参考URL:http://www.csdinc.co.jp/archiver/lib/activex/index.html

投稿日時 - 2004-07-28 10:48:41

あなたにオススメの質問