没ネタ(失敗記事)- 2018.11.11 EpgDataCapBon(EDCB)でプログラム録画(時間指定)したときに、タイトル名を入れる方法(sed使用)

成功記事はこちら

日曜プログラミング 2018.11.11 EpgDataCapBon(EDCB)でプログラム録画(時間指定)したときに、タイトル名を入れる方法(powershell使用)
http://nln.jp/wp/archives/3370


どーしても、ソースいじりたくない人向けですw

没ネタ-失敗のお話
成功は次の記事で
バッチファイルの3行目取得部分だけ掲載。今後何かでまた躓くだろう・・・(^◇^;
全角空白他、外部コマンド使っている時点で没コースだったんですが。

—-没です。

プログラム予約自体が推奨ではないような気がするのですが、、、
保存して[.txt]を取って、EDCBのフォルダに入れて、プログラム予約の後処理に入れるといい感じ。
ファイル名に合わせて調整しておくんなさいまし(^^)ノシ

日づけはRecNameMacro.dllで指定してください。$FilePath$にセットされます。
その状態で後バッチが呼ばれるのでこんな処理になってます。
プログラムテキスト(.ts.program.txt)の3行目意を狙い撃ちして引っ張ってきているだけなので、使えない文字があるとこけます(爆)
実質2行なので、その間に使えない文字を削除する処理を入れればいいかと思います

—-Sample1
@rem サンプル
@rem sed-4.2.1-setup.exe をインストール後、C:\Program Files (x86)\GnuWin32\bin に環境変数でパスを通しています
@rem https://sourceforge.net/projects/gnuwin32/files/sed/

@rem これでタイトル表示できます!
sed -n 3p 20181111-123456.ts.program.txt
@rem あとはばっちでごにょごにょ
—-
—-Sample2
set TXTNAME=20181111.ts.program.txt
FOR /F “tokens=1 usebackq delims=^:” %%t in (`sed -n 3p %TXTNAME%`) DO @set TITLE=%%t
echo TITLE: %TITLE%
@rem いろいろパターンを変えて取得
—-
—-Sample3
@echo off
setlocal enabledelayedexpansion

SET COUNT=0
SET DATA=””
SET FILENAME=aa20181111.ts.program.txt
FOR /F “” %%i IN (%FILENAME%) DO @CALL :MYSET %%i
ECHO %DATA%
@rem EXIT /B
goto proc_end

:MYSET
SET /A COUNT=%COUNT%+1
@REM 3行目だったらDATAへSET
IF %COUNT%==3 SET DATA=%1
@REM EXIT /B で呼び出し元へ戻る
EXIT /B

:proc_end
set RECTITLE=%DATA%
echo TITLE: %RECTITLE%

endlocal
—-
—-Sample4
@echo off
@rem sed サンプル(ファイル名に使えない、特殊文字の処理はしていません)
@rem sed-4.2.1-setup.exe をインストール後、C:\Program Files (x86)\GnuWin32\bin に環境変数でパスを通しています
@rem https://sourceforge.net/projects/gnuwin32/files/sed/

setlocal

set LOGNAME=RecTSRename_Log.txt
set LOGFULLPATH=%~dp0\%LOGNAME%
set RECTXT=$FolderPath$\$FileName$
set RECDATE=$SDYYYY28$$SDDD28$-$STHH28$$STMM$$STSS$

cd “$FolderPath$”

FOR /F “tokens=1 usebackq delims=^:” %%i in (`sed -n 3p %RECTXT%.ts.program.txt`) DO @set RECTITLE=%%i
ren “$FilePath$” “$FolderPath$\%RECTITLE%-%RECDATE%.ts”
endlocal
—-
—-Sample5
@切り詰めればこんな感じ
setlocal
for /f “usebackq delims=” %%t in (`sed -n 3p %1`) do @set TITLE=%%t
echo %TITLE%
endlocal
—-
—-Sample6
@外部ファイルで使うとき
sed -n 3p %1 2>>RecTSRename_Log.txt
—-
バッチファイルだと全角空白の入っているタイトル取得でこけますヘ(゚∀゚ヘ)アヒャ
1日でかいけつできなさそうなかんじなので、没で