0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この不親切な手順に救援を 其の7:ZIPを送れと無茶を言う

Posted at

メーカーサポートとのやり取りで
エラーが出たと言うと
「ログを採取して送れ」で
採取ツールを起動して出来たのが
悪名高き?ZIPファイル

ウィルス対策アプリの監視も厳しく
Gmailなんかとても送り辛い

以前、ファイルを平文化して
メールで送るやつを作りましたが
面倒な手順でしたので簡素化し
ファイルをドロップするだけで
送信可能なファイルを作成する
バッチを作りました

パスワード付きZIPでも
Excelファイルでも
MIME変換されて
タダのテキストファイルに
変身するので送信可能になります

● 事前準備
  ① 送信用ファイルを作るバッチを保存
  ※ ANSIで保存

● 送信側の準備
  ① 送信するZIPファイル等を用意する
  ② ZIPファイル等をバッチにドロップして
    送信用ファイルを作成

● 送信時の操作
  ① 受信後に行う作業をメール本文に記述し
    作成された送信用ファイルの
    xxxxxxxx.BAT.TXT を 添付して送信
  ※ xxxxxxxx.BAT.TXT が 送れない場合
    xxxー復元アプリ.cmd.txt
    xxx.送信用ファイル.txt
    の2つを送って下さい
    xxxー復元アプリ.cmd.txt が 送れない場合
    xxxー復元アプリ.cmd.txt の 中身を
    メール本文に貼り付けて下さい

● 受信側の操作
  ① 受信したファイルをダウンロード
  ※ 復元時、同名のファイルは上書きされるので
    ダウンロード先は新しいフォルダを作り
    何もない所で復元する方が安全です
  ② ダウンロードしたファイルの拡張子を
    .BAT.TXT ⇒ .BAT に 変更
  ③ xxxxxxxx.BAT を ダブルクリックで実行
  ④ 実行されたバッチの中で
    xxxxxxxx.BAT を 消すか聞いてくるので
    [ Y ] か [ N ] で 返答

ZIPファイルをバッチにドロップして送信用ファイルを作成.jpg

ドロップ後.jpg

送られてきたファイル.jpg

ファイル名変更.jpg

復元実行.jpg

メール送信可能ファイル作成.cmd
@echo off

rem /;
rem /; ★ ZIP 形式ファイル 等 を Gmail で 送れるように 変換 と 復元バッチ を 作成
rem /;
rem /;    ● 送りたいファイル.ZIP ⇒ 送りたいファイル.送信用ファイル.txt に MIME 変換し
rem /;
rem /;    ● 送りたいファイル.bat.txt を 作成 ※ 復元アプリ+データ
rem /;
rem /;    ● 送りたいファイル-復元アプリ.cmd を 作成 ※ 復元アプリのみ
rem /;
rem /;    ZIP 形式ファイル を Gmail で 送れるように
rem /;    テキストの文字列に変換し
rem /;    復元するバッチを作成
rem /;
rem /;    ① メールで送るファイルを作成
rem /;
rem /;       送りたいファイル.ZIP を このバッチにドロップすると
rem /;
rem /;       送りたいファイル.送信用ファイル.txt と
rem /;
rem /;       送りたいファイル.bat.txt と
rem /;       送りたいファイル-復元アプリ.cmd.txt
rem /;
rem /;       が 送りたいファイル.ZIP が 在る フォルダに作成される
rem /;
rem /;    ② 作成されたファイルと復元アプリをメールで送る
rem /;
rem /;       送りたいファイル.bat.txt を
rem /;       メールで送信
rem /;                又は
rem /;       送りたいファイル.送信用ファイル.txt と
rem /;       送りたいファイル-復元アプリ.bat.txt を
rem /;       メールで送信
rem /;
rem /;    ③ 受信したファイルを復元
rem /;
rem /;       送りたいファイル.bat.txt
rem /;       を ダウンロード
rem /;                又は
rem /;       送りたいファイル.送信用ファイル.txt と
rem /;       送りたいファイル-復元アプリ.cmd.txt
rem /;       同じフォルダ に ダウンロード
rem /;
rem /;       送りたいファイル.bat.txt や
rem /;       送りたいファイル-復元アプリ.cmd.txt を
rem /;       後ろの拡張子 .txt を 削除した名前に変更
rem /;
rem /;       送りたいファイル.bat
rem /;                又は
rem /;       送りたいファイル-復元アプリ.cmd を
rem /;       ダブルクリックして実行すると
rem /;       送りたいファイル.ZIP が
rem /;       同じフォルダに復元される
rem /;
rem /;       最後に復元して不要になったファイルの削除を
rem /;       確認されるので YN で 応答する
rem /;

rem /;
rem /; ● MIME エンコード【 符号化 】
rem /;
rem /;    エンコードするファイルは上書きが出来ないため
rem /;    予め削除してから作成
rem /;

     set                                        拡張子=
     for /f "delims="  %%1 in ("%~x1") do set   拡張子=%%1
     set                                      元拡張子=%拡張子%
     set                                        拡張子=%拡張子:~1,1%%拡張子:~1%

     del /f                 "%~n1.送信用ファイル.txt" > nul 2> nul
     certutil -encode "%~1" "%~n1.送信用ファイル.txt"

rem /;
rem /; ● MIME   デコード【 復元 】 バッチ作成
rem /;
rem /;    bat cmd が 送信出来ない場合に備えて txt 版 も 作成
rem /;

echo;@echo off>                                                                    "%~n1-復元アプリ.cmd.txt"
echo;SETLOCAL ENABLEDELAYEDEXPANSION>>                                             "%~n1-復元アプリ.cmd.txt"
echo;del /f           "%%~dp0%~n1.%拡張子%" ^> nul 2^> nul>>                       "%~n1-復元アプリ.cmd.txt"
echo;certutil -decode "%%~dp0%~n1.送信用ファイル.txt" "%%~dp0%~n1.%拡張子%">>      "%~n1-復元アプリ.cmd.txt"
echo;del /f               "%%~n0%元拡張子%" ^> nul 2^> nul>>                       "%~n1-復元アプリ.cmd.txt"
echo;ren "%%~dp0%~n1.%拡張子%" "%%~n0%元拡張子%">>                                 "%~n1-復元アプリ.cmd.txt"
echo;choice /C yn /M " このアプリを削除しますか ">>                               "%~n1-復元アプリ.cmd.txt"
echo;IF  !ERRORLEVEL!==1 ^(DEL "%%~dp0%~n1.送信用ファイル.txt" "%%~f0" ^& EXIT^)>> "%~n1-復元アプリ.cmd.txt"

echo;@echo off>                                                                    "%~n1.bat.hed"
echo;SETLOCAL ENABLEDELAYEDEXPANSION>>                                             "%~n1.bat.hed"
echo;del /f                     "%%~dpn0.%拡張子%"^> nul 2^> nul>>                 "%~n1.bat.hed"
echo;certutil -decode "%%~dpnx0" "%%~dpn0.%拡張子%">>                              "%~n1.bat.hed"
echo;del /f                                   "%%~n0%元拡張子%"^> nul 2^> nul>>    "%~n1.bat.hed"
echo;ren                        "%%~dpn0.%拡張子%" "%%~n0%元拡張子%">>             "%~n1.bat.hed"
echo;choice /C yn /M " このアプリを削除しますか ">>                               "%~n1.bat.hed"
echo;IF  !ERRORLEVEL!==1 ^(DEL "%%~f0" ^& EXIT^)>>                                 "%~n1.bat.hed"
echo;goto :eof>>                                                                   "%~n1.bat.hed"
copy /y   "%~n1.bat.hed" + "%~n1.送信用ファイル.txt"                               "%~n1.bat.txt"            > nul
del  /f                                                                            "%~n1.bat.hed"            > nul 2> nul

echo;
echo; 復元データ入りアプリ %~n1.bat.txt 作成完了
echo;
echo; 送信用ファイル       %~n1.送信用ファイル.txt 作成完了
echo;
echo; 復元アプリ           %~n1-復元アプリ.cmd.txt 作成完了
echo;

(
 echo;★ Gmail送信用ファイル作成
 echo;
 echo;  ● ドロップ元 の フォルダ に
 echo;
 echo;    復元データ入りアプリ と
 echo;    送信用ファイル と 復元アプリ を 作成しました
 echo;
 echo;    復元データ入りアプリ zzzzzzzz.bat.txt 又は
 echo;
 echo;    送信用ファイル zzzzzzzz.XXXX.txt と 
 echo;    復元アプリ  zzzzzzzz-復元アプリ.cmd を
 echo;
 echo;    添付して送信して下さい
 echo;
 echo;  ● 復元 は 復元データ入りアプリ 又は
 echo;
 echo;    送信用ファイル と 復元アプリ を
 echo;
 echo;    同じフォルダ に ダウンロードして
 echo;
 echo;    .bat.txt や .cmd.txt を
 echo;
 echo;    後ろ の .txt を 取った名前に変更して実行して下さい
 echo;
 echo;  ※ 送信用ファイル は 元ファイルより 容量 が 増えるので
 echo;
 echo;    ZIPファイル は 7zファイル 等に 高圧縮してから
 echo;
 echo;    送信用ファイル を 作成 して下さい
 echo;
 echo;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 echo;> 上記の内容確認後、
 echo;▼ このダイアログ の 【 OK 】 を クリックして下さい
) | MSG CONSOLE /W /TIME:0

goto :eof
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?