
在宅勤務で毎日、zipファイルにPWを入れてフォルダを何度もクリックして業務に使用するexeを起動しているため、なんとか自動で起動できないか、ExcelVBAを調べていたところ、バッチファイルを作成すると早いという記事を見ました。バッチファイルの知識は0ですが検索して下記のファイルで実行したところ、PW解除と、かなり処理時間がかかってエラーで止まります。どのように書いたらよいのかぜひ教えていただきたいです。
@echo off
for /r %%i in (*.zip) do "C:\Program Files\7-Zip\7z.exe" x -pxxx -o%%~pi %%i
pause
start D:¥aaa.zip\bbb\ccc\CL\app\bin\001.exe & 001.exe & 003.exe としたところ
途中で ?(Y)es/(N)o/(A)lways/(S)kip all/A(u)to rename all/(Q)uit? と出るので2回uを入れてエンターし、なにかキーを押してください。に、エンターを押下すると、一瞬起動されかけますが
「EC40001システムエラーが発生しました。システム管理者に連絡してください。」とでて開くことができませんでした。
クリックしてフォルダを開く順番は D:¥aaa.zip\bbb\ccc\CL\app\bin\002.exe です。
各フォルダにはフォルダやファイルがかなり入っていて、最後のフォルダにはexeファイルが3つありましたので、&で繋げて入れました。
シャットダウン時にDの中がすべて削除されるような設定となっているため、毎回zipフォルダを共有ドライブから多分仮想のDドライブにコピーしてから開いていますので、バッチファイルを一緒にDドライブにコピーしてから、実行するようにできれば大変助かります。(バッチファイルのショートカットをデスクトップに置いて実行できればなお、有難いです。)どうぞよろしくお願いいたします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
以下の行が間違っています。
start D:¥aaa.zip\bbb\ccc\CL\app\bin\001.exe & 001.exe & 003.exe
対処法としては、解凍時に出力先フォルダを指定して、指定したフォルダに出来た○○.exeをstartコマンドに渡してあげる必要があります。
D:\aaa.zip\配下は、aaa.zipを一時的に展開した仮想フォルダです(rinkun様の回答の通りです)
一行目の
"C:\Program Files\7-Zip\7z.exe" x -pxxx -o
は7zip.exeという解凍ソフトをコマンドで実行しているのですが、このとき、解凍先フォルダを指定してあげることが可能です。
例:"C:\Program Files\7-Zip\7z.exe" x -y -pxxx -oC:\tmp\ C:\testdata.zip
これはC:\testdata.zipをC:\tmp\配下に解凍するコマンドになります。("-o"で出力先を指定できます。ちなみに、-yは「Yes/No」を自動でYesにするオプションです。-pがパスワードを指定するオプションです)
上記コマンドを実行した場合、testdata.zipの中身はC:\tmp配下に解凍されますので、
start C:\tmp\test.exe
と記述することで目的のexeを実行することができます。
一度、for文を使わず、一つずつ解凍するようなバッチファイルを記述するとわかりやすいかもしれません。
ご回答ありがとうございます。
アドバイスをもとに調べて色々やってみましたが、理解できていないため、うまくいきませんでした。PWは解除できまして、下記でとりあえず開き¥binが開いたらexeをクリックして起動できましたので、しばらくこちらで使ってみます。お忙しい中教えていただきありがとうございました。
@echo off
for /r %%i in (*.zip)do "C:\Program Files\7\-zip\7z.exe" x -y -pxxx -o%%~pi %%i
start D:\aaa\bbb\ccc\CL\app\bin
exit
No.4
- 回答日時:
まず補足コメントについていうと、D:¥aaa.zip\bbb\ccc\CL\app\bin\ はDドライブ直下にあるaaa.zipというzipファイルの中の仮想フォルダ bbb\ccc\CL\app\bin\ のように思われますが、zipの暗号化は基本ファイルの中身だけなのでエクスプローラでフォルダをたどる部分はパスワードなしでできますが、バッチファイルではそのパスを認識できません。
また実際のファイルにアクセスする際にパスワードを必要とします。それでzipは共有フォルダに置かれていて、それを手作業でDドライブ上に展開してから複数のexeを順に呼び出して実行しているということで良いですか。
共有フォルダは接続してドライブを割り当てていますか? バッチファイルはネットワークパスを扱えないので扱うにはドライブ割当てが必要です。
zipの展開先はDドライブ内ですか。
展開するzipファイルは毎回同じですか。変わりますか?
まずバッチファイル自体はCドライブの例えばデスクトップ上に置きましょう。
zipは7zipで展開するなら共有フォルダ上にあるものをDドライブ上に全展開するように基本フルパスでパラメータ指定しましょう。
質問に書いてあるバッチの記載方法だと共有フォルダがドライブ接続されていないとファイル展開できていないように思います。というか展開先フォルダを明示的に指定しないとzipファイルのフォルダ上に展開しようとするけど。
No.1
- 回答日時:
代案というかジャストアイデアですが、パスワード付きのzipファイルの解凍がネックとなっているなら、対象のexeファイルだけを取り出して、共有ドライブ上に置いておくことはNGでしょうか。
で、おそらくexe形式の状態で配置しておくと、セキュリティ的にNGだと思うので「01.exeZZZ」、「02.exeZZZ」、「03.exeZZZ」のように拡張子を変更しておけばウイルスチェックで引っかからないし、その3ファイルだけを共有ドライブからDドライブにコピーして”ZZZ”の部分を消せばexeファイルとして利用できます。
ファイル名の変更を手で実施するのが面倒であれば、"rename"コマンド用のバッチを作成すればいいかと
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) [BuddyPress]試したいのですが! 3 2022/06/01 13:36
- アプリ アプリケーションが見つかりません 2 2022/07/13 21:07
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(セキュリティ) PDFファイルのパスワード設定について 1 2022/06/25 10:10
- Windows 10 WindowsUpdateで再起動を阻止したいです 3 2023/03/15 22:41
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- その他(IT・Webサービス) エクセルの実行ファイルについての質問です。 1 2023/05/04 03:58
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
VBAでUWSCが起動できない
-
OLE又はDDEを使うVISUAL BESIC...
-
JavaScriptでコマンドプ...
-
c/c++ ビルドしたにもかかわら...
-
ファイル入出力をサーブレット...
-
Python、ダンプ? SyntaxError:...
-
a.outはどこへ?
-
JavaScriptでPerlのサブルーチ...
-
コマンドプロンプトで外のexeや...
-
SWTとSwingの違い
-
なぜプロセスはファイルにアク...
-
VC++から引数付きexeファイルの...
-
LBAとファイルの関係
-
Tomcat停止後の処理継続について
-
ファイル名の先頭が数字だと駄...
-
VB.NET リソースの埋め込みにつ...
-
CLRアプリの拡張子
-
エクセルVBAよりBATファイルを...
-
ディレクトリを変更して外部コ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
JavaScriptでコマンドプ...
-
OLE又はDDEを使うVISUAL BESIC...
-
c/c++ ビルドしたにもかかわら...
-
コマンドプロンプトで外のexeや...
-
VB6.0で作ったプロジェクトが起...
-
VBAでEXEファイルを動かす方法...
-
VC++から引数付きexeファイルの...
-
以下のように複数のファイルを...
-
LINK : fatal error LNK1104に...
-
VBAで他のプログラムが起動して...
-
JAVA .jarファイルに再圧縮する...
-
batからexeを起動した際の戻り...
-
コンポーネント`MSCOMM32.cox'...
-
WScript.Echo と msgbox
-
jarの開き方を教えてください。
-
batからexeを実行し戻り値を受...
-
JARファイルをEclipseを使って...
-
なぜプロセスはファイルにアク...
-
Web上からExeを実行する場合に...
おすすめ情報
早速ご回答いただきましてありがとうございます。残念ですが共有フォルダへの変更はNGだと思います。それと、下記exeの前までで実行すると
start D:¥aaa.zip\bbb\ccc\CL\app\bin\ exeまでのフォルダはきちんと開けるのですが、PWは解除できているという認識は間違っているのでしょうか。よろしくお願いいたします