|
chocolateyというのはちょっとわからないですが、Program Filesにインストールされているとして、x %1でやってみたら確かにうまくいきませんでした。
作業フォルダが決まっていないためのようです。
-oを使って、以下のようにしてみたらできました。
"C:\Program Files\7-Zip\7z.exe" x -o"%d" %1
vbsでこのコマンドライン相当にするとしたら以下のようになりますが長いです。
vbs:CreateObject("Shell.Application").ShellExecute "C:\Program Files\7-Zip\7z.exe","x -o"""+getDirectory()+""" "+getItemPath(getNextItem(-1,2))
ShellExecuteは第3パラメータに作業フォルダを指定することができるので、-oを使わなくてもいけました。
vbs:CreateObject("Shell.Application").ShellExecute "C:\Program Files\7-Zip\7z.exe","x "+getItemPath(getNextItem(-1,2)),getDirectory()
もっと簡単には、コンテキストメニューの項目をボタン化する方法があります。
通常のインストーラを使ったProgram Filesへのインストールでは、zipファイルを右クリックすると、7-Zipというサブメニューができると思います。
これを直接呼ぶボタンにできます。
zipファイルを選んだ状態で、ブックマークの追加をして、パスの右側の>>ボタンから、[コマンド(コンテキストメニュー)(7)...]を選びます。
そうするとzipファイルに対するコンテキストメニューの候補が出るので、その中から選ぶとできます。
7-Zipの展開は、
js:ContextMenu("SevenZipExtract");
や、
js:ContextMenu("SevenZipExtractTo");
といったものになるようです。
7zipは代表的な展開ソフトなので、スクリプトのサンプルのところにも書いておこうと思います。
chocolateyというのはわからないですが、最近のWindowsでは、wingetというコマンドでパッケージ的にインストールできたりするみたいです。
コマンドプロンプトで、
winget install -e --id 7zip.7zip
とすると、管理者のインストールが出てきてコンテキストメニューにも追加されました。
|
|