読者です 読者をやめる 読者になる 読者になる

メモ帳DPA

ぐぐってあまり引っかからないような何かがあったら書いたりする

ScanSnap自炊漫画のやっつけ全自動リネーム(ISBNTitlerが更新されるまでのつなぎ)

電子書籍 制作物

更新期待してます

ISBNTitlerAmazonの仕様変更で使えなくなったまま更新されず、リネームが非常にめんどくさかったので仕方ないので素人なりに適当に間に合わせることにしました。

自力リネームバッチ

ScanSnapのアプリ選択画面で以下のbatを作成して登録。
パスは決め打ちなので適当に置き換え要です。

やってること

  • ファイルが一定数なければ終了(表紙スキャンと同プロファイルで実施するため)
  • 現在時刻で一時フォルダを作成しjpgを移動
  • 不要ページを削除(002.jpg:カバー裏の白紙 / 004.jpg:裏表紙裏の白紙)
  • カバー(001ページ目)を回転
  • ISBNのテキスト出力(ブクログ一括登録用)
  • Amazonから商品ページ拾ってくる
  • タイトルを適当に整形してリネーム

スキャンしたjpgをフォルダに格納し、
フォルダ名を「[著者名] タイトル」に自動でリネームします。

@echo off
set PATH=%PATH%;C:\Program Files (x86)\Gow\bin


set WORKDIR=D:\Books\_New_Comic

set time2=%time: =0%
set DIRNAME=_temp_%time2:~0,2%%time2:~3,2%%time2:~6,2%

if not exist %WORKDIR%\005.jpg exit

cd "%WORKDIR%"
mkdir "%DIRNAME%"

rem カバーの裏
del 002.jpg

rem 表紙の裏(見開き調整)
del 004.jpg

move *.jpg "%DIRNAME%\"

rem "
rem 表紙回転
D:\Program_Files\IrfanView\i_view32.exe %WORKDIR%\%DIRNAME%\001.jpg /rotate_r /convert=%WORKDIR%\%DIRNAME%\001.jpg


rem バーコードからISBN取得
D:\Program_Files\ZBar\bin\zbarimg.exe -q %DIRNAME%\001.jpg > tmp.txt
for /f "usebackq tokens=*" %%i in (`findstr :978 tmp.txt`) do @set RESULT=%%i
echo %RESULT:EAN-13:=% >> ISBN.txt
SET ISBN13=%RESULT:EAN-13:978=%
del tmp.txt


rem isbn13にそのまま移動する阪
rem move %DIRNAME% %RESULT:EAN-13:=%

rem Amazonからタイトル取得
set /a DIGIT=11 - (%ISBN13:~0,1% * 10  + %ISBN13:~1,1% * 9  + %ISBN13:~2,1% * 8  + %ISBN13:~3,1% * 7  + %ISBN13:~4,1% * 6 + %ISBN13:~5,1% * 5 + %ISBN13:~6,1% * 4 + %ISBN13:~7,1% * 3 + %ISBN13:~8,1% * 2) %% 11
if %DIGIT%==10 set DIGIT=X
if %DIGIT%==11 set DIGIT=0

set ISBN10=%ISBN13:~0,9%%DIGIT%

wget http://www.amazon.co.jp/dp/%ISBN10%

grep "<title>" %ISBN10% ^
 | sed -e "s/<title>Amazon.co.jp: \(.*\): \(.*\):\(.*\)<\/title>/[\2] \1/g" ^
 | sed -e "s/\\/¥/g" ^
 | sed -e "s/\////g" ^
 | sed -e "s/:/:/g" ^
 | sed -e "s/,/,/g" ^
 | sed -e "s/;/;/g" ^
 | sed -e "s/\*/*/g" ^
 | sed -e "s/\?/?/g" ^
 | sed -e "s/</</g" ^
 | sed -e "s/>/>/g"  > tmp.txt

set /p TITLE=<tmp.txt
del tmp.txt
del %ISBN10%

echo %TITLE%

move "%DIRNAME%" "%TITLE%"

最初はこんな細かいことするつもりじゃなかったbatにつぎはぎしてった関係で所々無理してる感がすごいですが一応動きます。