- ベストアンサー
コマンドラインからzip32j.dllを呼び出しての圧縮。
今、WinXP HE上で、ソフトウェアを使わずに DOS窓のコマンドラインからzip32j.dllを呼び出し ファイルを圧縮しようと思ってるのですが、 rundll32からzip32jの中のどの関数を呼び、 どのように引数を渡したらよいのか、 zip32j.dllのソースを調べましたがわかりませんでした。 どなたかご存知の方があれば教えていただきたく思います。 また、もし他の方法をご存知であれば そちらのほうもお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以前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
その他の回答 (1)
- ittochan
- ベストアンサー率64% (2667/4137)
回答No.1
ActiveXコンポーネントの TransLha.ocx等 を利用すれば VBScriptかJScriptのスクリプトを書いて コマンドプロンプトから CScript.exe(Windowsに標準で付いてます)で スクリプトを呼び出せば可能です。
お礼
お時間を割いていただき、ありがとうございます。 大変助かりました。 自分はまだ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();