0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Windows】圧縮ファイルからメタファイルを削除するバッチコマンドを作った

Last updated at Posted at 2021-01-23

概要

例によってテストエビデンスとかをzipでまとめた後に

「ああっ!Thumbs.dbが入りこんじゃった。削除しなきゃ…。」

みたいなのが面倒なので、7zipの機能を使ってフォルダ内のzipファイルから一括でメタファイルを削除するコマンドを作った。

機能

  • zip/7zファイル内に含まれている下記ファイルやディレクトリを削除する
    • Thumbs.db
    • .DS_Store
    • __MACOSX

使い方

  1. 7zを導入し、windowsパスを通す
  2. 下記掲載ソースコードをバッチファイルにしてwindowsパスを通す
  3. 下記コマンドを実施する
> 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

以上

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?