前提
OS=Windows10
Software=ImageMagick 7.0.10-19 Q16 x64 2020-06-12 (動作確認時のバージョン)
cset.bat
もしウィルス扱いされるようであれば、最後の方にあるテキストを、テキストファイルに張り付け・セーブして、cset.bat にファイル名を変えれば使えます。
経緯
自分が作った3Dモデル(VRoid Studioで作成)を、他の人が「自分が作った」などと言われたくないので、クレジットをPNGファイルにこっそり入れる方法を探しています。
簡単に出来る方法が無いようなので、とりあえずツールを作成しました。
(え?なんでマイクロソフトからも見捨てられたバッチファイルなの?って? PowerShell は難しいし、頑張って覚えても普及が微妙で将来が不安だし、他に気軽に使えるものが無いんです)
より良い方法があればコメントなどで教えてください(これが主目的)。
概要
PNGファイルにクレジット(コメント)を追記・削除(正確には空のコメント)するバッチファイル(ツール)です。
クレジットをPNGファイルに埋め込むために作成しました。
ぶっちゃけ ImageMagick のサポートツールです。
インストール
1.ImageMagick をインストールしてください。
https://imagemagick.org/index.php
使用法
1.cset.batを編集(右クリック→編集)で 「set comment=」の後ろにクレジット(コメント)を入力して保存してください。
※全角が入力できるかは確認していません
2.PNGファイルをバックアップしてください
注意:このツールは、ツールを実行したフォルダ「以下」すべてのPNGファイルを編集します。
3.ツール起動
(1).本ツールをPNGファイルのあるフォルダ(ディレクトリ)にコピー
(2).本ツールを起動します(ダブルクリックなど)
(3).メニューに従ってコメントを表示、追記、削除します
(4).Exit で終了します
その他
このツールのバージョンは
Version: ImageMagick 7.0.10-19 Q16 x64 2020-06-12
で動作確認しています。
ImageMagick インストール後、インストールしたフォルダで、
コマンドプロンプトで
magick -version
でバージョン確認できます。
要望、意見、バグ報告など
気軽にコメント下さい。また下記でもOKです。
e-mail yomox9@gmail.com twitter https://twitter.com/4mota
その他どこかの私のウェブサイトに投稿してください。
質問する時は、「debug」を選んでからその画面をテキストにするか、
スクリーンショットを撮ってもらえると、スムーズにやりとり出来ると思います。
動作の詳細
ImageMagick のコマンドで、PNGファイルに tEXt チャンクを追記しています。
コメント表示のコマンドは自分でも理解出来ていませんw
もし、zTxt チャンクを追記する方法、またはクレジットを追記する良い方法が他にあれば教えてください。
履歴
2020/06/21 ver1.0 公開
クレジット
(C) Copyright 2020 yomox9 (TM) Some rights Reserved.
おまけ:私が公開してる3Dモデル(アバター)
VRoid Studioという無料ソフトで作成しました。デフォの人型モデルの、身長とか目の大きさとか簡単に変えてモデルを作成出来ます。
[yomox9 - VRoid HubVRoid Hub https://hub.vroid.com/users/7959534] ( https://hub.vroid.com/users/7959534 )
cset.bat
@echo off
setlocal enabledelayedexpansion
set comment=(C) Copyright 2020 yomox9 (TM) Some rights Reserved.
echo ver0.1 2020/06/14 First version
echo ver1.0 2020/06/21 Public version
set nulcnt=0
set cmtcnt=0
set allcnt=0
set equcnt=0
rem test
rem if exist "C:\app\MikuMikuDance_v932x64\UserFile\Model\DoctorY_v04_long_coat\tex - コピー\F00_000_00_EyeExtra_01.png" (
rem copy "C:\app\MikuMikuDance_v932x64\UserFile\Model\DoctorY_v04_long_coat\tex - コピー\F00_000_00_EyeExtra_01.png" .
rem )
:menu01
if "%~1" == "" (
rem set tgt="Below current directory"
for /f "usebackq delims=" %%a in ( `cd` ) do (
set tgt="Below current directory. %%a"
)
) else (
set tgt="%~1 and other."
)
echo -- Comment Set tool to .png ---
echo Target = %tgt%
echo 0. Exit
echo 1. Show comment
echo 2. Add comment
echo 3. Delete comment
choice /c 0123q
if errorlevel 5 goto :end_
if errorlevel 4 (
set wflg=3
goto :next
)
if errorlevel 3 (
set wflg=2
goto :next
)
if errorlevel 2 (
set wflg=1
goto :next
)
if errorlevel 1 goto :end_
:next
if exist "%~1\" (
echo Folder
goto :folder_proc
) else (
echo File
)
if "%wflg%" == "3" (
set comment=
)
:loop
echo --- %1 ---
if not "%wflg%" == "1" (
echo before
)
magick "%~1" -format "^%c" info:
echo(
if not "%wflg%" == "1" (
magick "%~1" -set comment "%comment%" "%~1"
echo after
magick "%~1" -format "%%c" info:
echo(
)
shift
if not "%~1" == "" goto :loop
goto :end_
:folder_proc
echo All files change below current directory. OK?
choice
if errorlevel 2 goto :loop
if "%wflg%" == "1" (
for /r %%a in ( *.png ) do (
echo --- %%~a ---
magick "%%~a" -format "%%c" info:
echo(
rem for /f "usebackq delims=" %%b in ( `magick "%%~a" -format "%%c" info:` ) do (
rem echo _ %%~b _
rem if "%%~b" == "" (
rem set /a equcnt=equcnt+1
rem pause
rem ) else (
rem set /a cmtcnt=cmtcnt+1
rem )
rem set /a allcnt=allcnt+1
rem )
)
rem echo equal comment !equcnt! / all comment = !allcnt!
) else if "%wflg%" == "2" (
for /r %%a in ( *.png ) do (
echo --- %%~a ---
magick "%%~a" -set comment "%comment%" "%%~a"
magick "%%~a" -format "%%c" info:
echo(
)
) else if "%wflg%" == "3" (
set comment=
for /r %%a in ( *.png ) do (
echo --- %%~a ---
magick "%%~a" -set comment "" "%%~a"
echo(
)
)
goto :menu01
:nullcnt
set /a nulcnt=nulcnt+1
exit /b
:end_