バッチファイルで拡張子「.zi_」を「.zip」にリネームする(PPAP)


Y子です。
今日も、ファイル名を変えるバッチファイルシリーズです。

概要・用途

拡張子が「.zi_」のファイルを与えると、「.zip」にリネームするバッチファイルです。
コマンドラインで使っても、マウスでドロップしても使えますが、このバッチファイルを拡張子「.zi_」に関連付けしてしまうと便利です。
.zi_」のファイルをダブルクリックするだけでリネームされます!

関連付けの方法

  1. 拡張子が「.zi_」のファイルを右クリックする
  2. 「プログラムから開く」を選択する
  3. 「常にこのアプリを使って.zi_ファイルを開く」にチェックが入った状態で「その他のアプリ↓」を選択する
  4. 一番下の「このPCで別のアプリを探す」を選択する
  5. 今回作成する「rename_ppap_zip.bat」を選択して「開く」をクリックする

コード

rename_ppap_zip.bat
@echo off

rem 引数がない場合は終了する
if "%~1"=="" (
  echo 引数がありません
  pause
  exit /b
)

rem 変更前のファイル名(フルパス)「C:\work dir\test.zi_」
set str_oldfile=%~1

rem ファイル名分割…拡張子なし「test」と拡張子のみ「.zi_」
set str_old_fn=%~n1
set str_old_ex=%~x1

rem 変更後のファイル名(ファイル名のみ)「test.zip」
set str_newfile=%str_old_fn%.zip

rem 与えられたファイルが「.zi_」なら
if "%str_old_ex%"==".zi_" (
  ren "%str_oldfile%" "%str_newfile%"
  echo ファイル名を「%str_newfile%」に変更しました
rem 想定外のファイルなら
) else (
  echo なにもしませんでした
)

pause

おわりに

PPAPってあるじゃないですか。
ピコ太郎さんのあれじゃなくて(とても好きですけども)、「メールでパスワード付きzipを送り、後から別メールでパスワードを送る」ってやつです。
Pre send Password file After send Password」の略だとか。(Wikipedia
いろいろ問題は指摘されていますが(悪意ある人がzipファイルを受信できるなら、パスワードも受信できるじゃーん)、弊社ではまだ現役なんですよねー。
今回は、そんな現場で使えるツールを作ってみたのでした。

ではまたー。