重複録画TSファイルがあれば、一番大きいもの以外を削除する

同番組名のTSファイルがあれば、サイズが最大のひとつを残して、ほかを削除します

再放送等で番組が重複した時の整理用です。
録画がうまくいかなかったときはファイルサイズが小さくなるので、一番大きいものを残すようにしました

@echo off
setlocal

rem ---------------------------------------------------------------
rem 重複録画TSファイルがあれば、一番大きいもの以外を削除する
rem 
rem 録画ファイル名称は以下の形式の対応(EpgDataCap_Bon)
rem $Title2$_$ServiceName$_$SDYYYY$$SDMM$$SDDD$$SDW$_$STHH$$STMM$-$ETHH$$ETMM$.ts
rem ---------------------------------------------------------------

rem <変数セット>
:parameter
	rem 対象ディレクトリ
		set TS_DIR=G:\test
	rem 一時ディレクトリ名称
		set TEMP_DIR=temporary

rem <プログラム本体>
:main
	rem 必要性を判断
		if not exist %TS_DIR%\*.ts goto finish
	rem 一時ディレクトリを作成
		if not exist %TS_DIR%\temporary mkdir %TS_DIR%\%TEMP_DIR%
	rem 一時ディレクトリに全て移動
		move %TS_DIR%\*.ts %TS_DIR%\%TEMP_DIR%
		goto get

rem 最大容量のファイルを残して整理
:get
	cd /d %TS_DIR%\%TEMP_DIR%
	set FILE_NAME=""
	rem 一番サイズの大きいファイルを取得
		for /f "delims=" %%F in ('dir *.ts /os /b') do set FILE_NAME=%%F
		if %FILE_NAME%=="" goto end
		echo %FILE_NAME%
	rem 一番サイズの大きいファイルを移動
		move %FILE_NAME% %TS_DIR%
	rem 重複ファイルがあれば残りを削除
		set FILE_NAME=%FILE_NAME:~0,-23%
		if exist %FILE_NAME%*.ts del /q %FILE_NAME%*.ts
		echo.
	goto get

:end
	cd /d %TS_DIR%
	rem 一時ディレクトリを削除
		rd /s /q %TEMP_DIR%

:finish
	rem 終了
		echo 終了
		endlocal
		exit

2つのディレクトリを監視し、ファイルを自動的に移動する

"監視ディレクトリ1"と、"監視ディレクトリ2"をチェックします。
どちらかのディレクトリに、"監視条件"に合うファイル(ファイル名)が見つかると、"送り先"へ移動します。
条件に合うファイルがどちらにも見つからなかった場合、"タイマ時間"待機して、その後に再度チェックします。


ファイル名に半角スペース等があるとうまく動きません。

@echo off
setlocal

rem ---------------------------------------------------------------
rem 2つのディレクトリを監視し、ファイルを自動的に移動する
rem ---------------------------------------------------------------

rem <変数セット>
:parameter
	rem 監視条件
		set FILE_NAME=*.ts
	rem 監視ディレクトリ1
		set SRC1_DIR=G:\1
	rem 監視ディレクトリ2
		set SRC2_DIR=G:\2
	rem 送り先
		set MOVE_DIR=G:\3
	rem タイマ時間(sec)
		set TIMER_SET=60

rem <プログラム本体>
:main
	set NUM=0
	rem ディレクトリがなければ作成
		if not exist %MOVE_DIR% mkdir %MOVE_DIR%

:move1
	cd /d %SRC1_DIR%
	set GET_NAME=""
	rem 一番古いファイルを取得
		for /f "delims=" %%F in ('dir %FILE_NAME% /o-d /b') do set GET_NAME=%%F
	rem 対象が存在しなければ次のルーチンへ
		if %GET_NAME%=="" goto cnt1
	rem 対象が存在すれば送り先へ移動させる
		move %GET_NAME% %MOVE_DIR%\%GET_NAME%
		echo 移動: %GET_NAME%%MOVE_DIR%
		echo.
	goto move2

:cnt1
	rem 無限ループ回避用
		set /a NUM+=1
		goto move2

:move2
	cd /d %SRC2_DIR%
	set GET_NAME=""
	rem 一番古いファイルを取得
		for /f "delims=" %%F in ('dir %FILE_NAME% /o-d /b') do set GET_NAME=%%F
	rem 対象が存在しなければ次のルーチンへ
		if %GET_NAME%=="" goto cnt2
	rem 対象が存在すれば送り先へ移動させる
		move %GET_NAME% %MOVE_DIR%\%GET_NAME%
		echo 移動: %GET_NAME%%MOVE_DIR%
		echo.
	goto move1

:cnt2
	rem 無限ループ回避用
		if %NUM% gtr 0 goto timer
		goto move1

:timer
	rem タイマ
		timeout /T %TIMER_SET%
		goto main

録画するだけのパソコン(ハード編)

ちょっと前にPT3を衝動買いしたら思いのほか使い勝手がよく、いろんな番組をひたすら録画できると
楽しそうだなと思って録画用のPCを組んでみました。
市販のレコーダーでも全番組録画できるものがあるので、そんな感じのことをやってみたかったです。


<構成>
CPU:Intel Core i7 4790S (65W)
M/B:MSI H97 GUARD-PRO
メモリ:DDR3 12GB
ストレージ:
 ・システム:Kingston SV300S37A120G (120GB)
 ・録画キャッシュ用:Silicon Power S55 (240GB)
 ・個別保存用:TOSHIBA MD04ACA500 (5TB)
 ・全録用:TOSHIBA MD04ACA500 (5TB)
ケース:ZALMAN Z12 Plus
フロントベイ:NOVAC はい〜る KIT 切電楽太郎×4
チューナー:アースソフト PT3×4
OS:Windows8.1 Update x64

年末に秋葉原にて、特価品を中心に集めてみました。


特徴は以下の通り
エンコード速度がほしいのでCPUはそれなりの性能で、かつ24時間動かしても部屋が暑くならないよう省電力なものを選びました。
マザーボードはとにかくPCI Expressレーンがたくさんあるものを選びました。
・ケースはATXでフロントベイ(5インチ)がたくさんあって安いものを選びました。
・フロントベイにはHDDをホットプラグで交換できるケースをたくさんつけたので、稼働中にHDDの交換・増設ができます。

フロントベイはこんな感じ。

HDD購入したのでベンチ(5TB)

HDD購入しました

録画環境を手に入れてからHDD容量が不足してきたので、
週末特価で安かったタイミングでTOSHIBAのMD04ACA500(5TB)を買いました。


昔に買ったHDDとの比較の意味でベンチを取ってみましたが、
シーケンシャルで200MB/s超えててすごいな〜ってかんじです

とりあえずフォーマットかけてみましたが、所用時間は8時間くらいでした。
重量的には、さすがにプラッタが5枚も入ってると重いです

東京散歩

週末を利用して東京を散歩してきました。
都市景観のHDR合成が楽しそうだったので、それの素材集めみたいな感じです。
HDRにはLuminanceHDRというフリーソフトを使ってみました。


↓新宿



↓(同写真)

箱崎JCT

↓レインボーブリッジ

以下は壁紙サイズ(1920×1080)です。

東京都庁から

SSDのファームアップしました

少し前になりますが、Crucial m4の64GB(CT064M4SSD2)の新ファームウェア(Version 0009)が公開されたので、今更ながらファームアップしました。
せっかくなのでファームアップの前後の変化を知るためにCrystalDiskMarkでベンチしてみたので載せてみます。

数字上で明らかな速度向上が見えます。
特にシーケンシャルリードの速度が367.9MB/sから488.2MB/sに飛躍的に向上しているのが印象的です。
ただでさえバックアップの作成が高速なSSDですが、より高速になったのではないかと思います。

念のためデータの消失に備えてバックアップを取ってから行いましたが、作業は何ともなく終わり、データは無事でした。なお作業中のみ接続モードをIDEモードに変更して行いました。