概要
例によってテストエビデンスとかをzipでまとめた後に
「ああっ!Thumbs.dbが入りこんじゃった。削除しなきゃ…。」
みたいなのが面倒なので、7zipの機能を使ってフォルダ内のzipファイルから一括でメタファイルを削除するコマンドを作った。
機能
- zip/7zファイル内に含まれている下記ファイルやディレクトリを削除する
- Thumbs.db
- .DS_Store
- __MACOSX
使い方
- 7zを導入し、windowsパスを通す
- 下記掲載ソースコードをバッチファイルにしてwindowsパスを通す
- 下記コマンドを実施する
> cd /d 【zipファイルが大量に入っているフォルダ】
> clean-zip-files start
ソースコード
下記を clean-zip-files.bat
として保存する。windowsパスを通しておくと便利だと思う。
clean-zip-files.bat
@echo off
setlocal enabledelayedexpansion
rem 引数チェック
if /i not "%1"=="start" (
call :HELP_MSG
exit /b 0
)
rem 前提コマンドチェック
where 7z > nul 2>&1
if not "%ERRORLEVEL%"=="0" (
echo 7z コマンドが見つかりません。
exit /b 1
)
for /f "usebackq delims=" %%a in (`dir /b ^| findstr /i /r /c:"\.zip$" /c:"\.7z$"`) do (
set COMPRESSED_FILE=%%~a
set CMD=7z d "!COMPRESSED_FILE!" "Thumbs.db" "__MACOSX" ".DS_Store" -r
echo !CMD!
!CMD! > nul
)
endlocal
exit /b 0
rem ------------------------------
rem ヘルプ用メッセージ
rem ------------------------------
:HELP_MSG
echo.
echo カレントディレクトリの圧縮ファイル(7z/zip)内から次のファイルやディレクトリを削除する
echo Thumbs.db
echo .DS_Store
echo .__MACOSX ^<DIR^>
echo.
echo usage^)
echo ^> clean-zip-files start
echo.
exit /b
プロダクト紹介
今まで作ったバッチコマンドはGitHubで公開している。良かったらどうぞ。
https://github.com/mahny-b/alstroemeria
以上