アメブロのページのバックアップが(ローカルのPC上では)正しく表示されない件(4回目)。 | 勝手に応援するブログ

勝手に応援するブログ

 
   人権侵害、性暴力、人身取引、等などがない社会になることをのぞんでいます。
 
   でも、ブログ筆者の立場は矛盾に満ちています。

右矢印前回記事 の続きです。


アメブロのアメーバWebページHTMLを保存したファイルを、
ローカルのPCでも、「正しく?!」表示できるように「修正」を加えるための バッチファイル設定のマーク

を作成しました。(ただし、sed.exe が必要です)あはは。。。


前回の記事で、この話題はこれで終わりにする、と書きましたが、
 この「バッチファイル設定のマークに関しては引き続き書きたいと思いますので、
 "正しく表示されない"、ということ自体については、もうこれ以上書きませんが、あせ
 このバッチファイルについては、さらに書きたいと思っております。メモあせ


以下は、そのバッチファイルの内容です。
へたくそだと、笑わないでね。。。(;^_^Aあせる


[AmbakFixHTM_01.bat]の内容.
*----------------------------------------------------------------------------------*
@echo off
rem : AmbakFixHTM_01.bat
rem :
rem : アメブロのページを保存したバックアップのHTMLファイルが、
rem : ローカルPCでは正しく表示されないのを修正する。
rem :
rem :     動作:
rem :      修正前ファイルの名前(.拡張子の直前)に -fixを付加した名前の修正後ファイルを、
rem :      修正前ファイルがあるフォルダと同じフォルダ内に作成する(sed.exeが必要)。
rem :
rem :     使い方:
rem :     修正前ファイルを、
rem :     このバッチファイルの(ショートカットの)アイコンにドロップする。
rem :
rem ::     Usage:
rem ::         AmbakFixHTM_01.bat  [(修正前ファイルのフルパス名)|-h|/?]
rem ::
rem :     ※環境変数の説明.
rem :     _$ambak : アメブロのページを保存しているフォルダのパス.
rem :     _$ambfn : アメブロのページを保存したバックアップのファイル名.
rem :     _$ambfnfix : 修正後のファイル名.
rem :     _$tmpVIEW : 説明書を表示するテキストファイル表示プログラムを指定.
rem :
rem :--- ※注意: sed.exe がないと動作しません!
rem :--- このバッチファイルのファイル名拡張子は .bat か .cmd であること。
rem :--- (↑そうでないと、この説明書が表示されません!)
rem :--- 空白文字を含むパス名、ファイル名にはちゃんと対応できない?!と思います。
rem :---
rem : 0:11 2017/04/16

rem 環境変数の初期化.
rem // 作業用ファイル名等.
set _$ambak=
set _$ambfn=
set _$ambfnfix=
set _$ambakfn=%1
set _$ambSED=s)\"//)\"http://)g
rem // 一時使用.
set _$tmpSED="s/^rem ://p"
set _$tmpTXT=%TMP%\AmbTmp.txt
set _$tmp0=%0
set _$tmpFn=
set _$tmpFx=
set _$tmpVIEW=

rem このバッチがある場所をカレントにする.
rem ※パスが通っていない対策.
pushd %0\..

rem コマンド引数がない、または /?, -h などなら使い方を表示.
if "%1" == "" goto USAGEVIEW
if "%1" == "/?" goto USAGEVIEW
if "%1" == "-?" goto USAGEVIEW
if "%1" == "-h" goto USAGEECHO
if not exist "%1" goto USAGEVIEW
goto HAJIME

rem 以下、ラベル :HAJIME まではサブルーチン及びエラー処理.

:_FIXTMP0
rem 環境変数 _$tmp0 を修正する(%0 に拡張子を付加する?)サブルーチン.
for %%X in ( bat cmd ) do (
    if exist "%_$tmp0%.%%X" (
        set _$tmp0=%_$tmp0%.%%X
        goto :EOF
    )
)

:ERR_p0-NOTFOUND
rem 説明書が作成できない!
echo エラー!:
echo %0 が見つかりません。(゜_゜;)ゞえェ~っ?!?!
echo ・・・ので、説明書が表示できませんでした。。。
rem DEGUB: goto _ENDOFFILE_
goto :EOF
goto OWARI

:ERR_SPLITFALSE
rem パス名ファイル名の切り分けに失敗!
echo エラー!:
echo パス名ファイル名の切り分けがうまくいきませんでした。(~_~;)汗.
rem DEGUB: goto _ENDOFFILE_
goto OWARI

goto ERR_CANNOTCREATE
rem 作成したはずのファイルが見つからない!
echo エラー!:
echo (なぜか?)ファイルが作成できませんでした。(/_;)泣.
rem DEGUB: goto _ENDOFFILE_
goto OWARI


:USAGE
rem 使い方を画面に表示.

:USAGEVIEW
if not exist "%_$tmp0%" call :_FIXTMP0
if not exist "%_$tmp0%" goto USAGEECHO
sed -ne %_$tmpSED% < "%_$tmp0%" > "%_$tmpTXT%"
%_$tmpVIEW% "%_$tmpTXT%"
goto OWARI

:USAGEECHO
echo     Usage: 使い方.
echo     %0  [(修正前ファイルのフルパス名)|-h|/?]
echo.
goto OWARI

rem *************************************************************
:HAJIME
rem ここから始め.
rem DEBUG: echo %_$tmp0%
rem DEBUG: echo %_$ambakfn%

rem パス名ファイル名の切り分け.
for /F "usebackq delims=" %%F in ( `echo %_$ambakfn%` ) do (
    set _$ambak=%%~dpF%
    set _$ambfn=%%~nxF%
    set _$tmpFn=%%~nF%
    set _$tmpFx=%%~xF%
)

rem 正しく切り分けたかどうか点検.
if not exist "%_$ambak%%_$ambfn%" goto ERR_SPLITFALSE
if not "%_$ambak%%_$ambfn%" == "%_$ambakfn%" goto ERR_SPLITFALSE

rem 作成する修正ファイルの名前.
set _$ambfnfix=%_$tmpFn%-fix%_$tmpFx%
set _$tmpFn=
set _$tmpFx=

rem 置換実行.
sed -e %_$ambSED% < "%_$ambakfn%" > "%_$ambak%%_$ambfnfix%"

rem 作成できたか?
if not exist "%_$ambak%%_$ambfnfix%" goto ERR_CANNOTCREATE
goto OWARI

rem *************************************************************

:OWARI
rem 終わり。後始末.
if exist %_$tmpTXT% del %_$tmpTXT%
set _$ambakfn=
set _$ambSED=
set _$tmpSED=
set _$tmpTXT=
set _$tmp0=
set _$tmpFn=
set _$tmpFx=
set _$tmpVIEW=
popd

:_ENDOFFILE_

*----------------------------------------------------------------------------------*

ご覧になられましたら、もうすぐにおわかりのとおり、...
このバッチファイルには、いくつもの重大な欠陥があります。!!!!叫び

それらのいくつかについて、
次回以降の記事で書いてみようかと、思っております。(・・ので、怒らないでね。m(_ _)mあせる


一応は動作しますあせので、
(アメブロのページを保存している)USBメモリ(の適当なフォルダ)に保存して、フロッピー(青)
USBメモリディスクのルートディレクトリにショートカットを作成しました。目

ambak-20170416_01
 ※バッチファイルのショートカットをUSBメモリに作成した。。。


ショートカットのプロパティを開き、実行時のコマンドウインドウ表示の大きさを「最小化」にします。
名前やアイコンも適当に変更しました。別ウィンドウが開きます

ambak-20170416_04
 ※プロパティを開いて、バッチファイル(のショートカット)の実行時の大きさを変更しているところ。


アメブロのページを保存したファイルを、このショートカットアイコンにドロップしてみます。。。
(ドラッグ&ドロップ、というらしい...)シラー

ambak-20170416_02
 ※対象のファイルをアイコンにドロップ。。。


修正ファイルが作成されました。
このファイルをブラウザで表示すると、「正しく」表示できました。。。チョキ

ambak-20170416_03
 ※修正ファイルが作成されました。。。



次回は、
このバッチファイルの欠陥について、書いていこうかな・・・!?
と思っております。(が、どうなるかは未定)汗