0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ツイキャス録画君で出来たファイルのリネーム

Posted at

ツイキャス録画君で残したtxtファイルの中のタイトルを、
ファイル名に追記するバッチファイルになります。

txtファイルの中身がUTF-8のために、
batファイルだけだと処理できないため
PowerShellを使います。

ツイキャス録画君で残したファイルは、
本体のmp3とtxtの2種類になります

テキストファイルの中はこんな感じ

userID(2023年02月04日16時34分00秒).txt
【ライブURL】http://twitcasting.tv/userID/movie/moiveID
【録画開始時間】2023年02月04日16時34分00秒
【ユーザー名】ユーザー名
【ユーザーID】userID
【タイトル】だだだだ

これのタイトルを取得して、txtファイルをリネームします。

Befor userID(2023年02月04日16時34分00秒).txt
After userID(2023年02月04日16時34分00秒)だだだだ.txt

まずはPowerShellのスクリプトを呼び出すbatファイル

TitleToFileName.bat
powershell .\TitleToFileName.ps1
pause

それで本命のPowerShellのスクリプトはこんな感じです

1)実行場所のtxtファイル分ループ
2)ファイル名の(から後ろを抽出します
3)抽出した文字長が26なら、処理前なので処理する
4)ファイル名と拡張子の間にtxtファイルの5行目(0スタートなので4)を突っ込んで
5)【タイトル】を_に置換
4)リネーム

TitleToFileName.ps1
$itemList = Get-ChildItem *.txt;
foreach($item in $itemList)
{
	#日付から拡張子までの長さで、タイトル追加済みを判断する
	$item.Name -match "(.*.txt";

	if ( 26 -eq $Matches[0].length ){
		$oldFn = (Get-ChildItem $item).BaseName+(Get-ChildItem $item).Extension
    	$newFn = (Get-ChildItem $item).BaseName+(Get-Content -Encoding UTF8 $item)[4]+(Get-ChildItem $item).Extension
    	$newFn = $newFn -replace "【タイトル】","_"

		write-host("処理 "+$item.Name);
		Rename-Item $oldFn -NewName $newFn;
	}else{
		write-host("処理済 "+$item.Name);
	}
}

直接mp3,mp4ファイルの方をリネームしたいときは、こんな感じです

TitleToFileName2.ps1
$itemList = Get-ChildItem *.txt;
foreach($item in $itemList)
{
	#日付から拡張子までの長さで、タイトル追加済みを判断する
	$item.Name -match "(.*.txt";

	if ( 26 -eq $Matches[0].length ){
		$oldFn = (Get-ChildItem $item).BaseName+".mp3"
    	$newFn = (Get-ChildItem $item).BaseName+(Get-Content -Encoding UTF8 $item)[4]+".mp3"
    	$newFn = $newFn -replace "【タイトル】","_"

		write-host("処理 "+$item.Name);
		Rename-Item $oldFn -NewName $newFn;
	}else{
		write-host("処理済 "+$item.Name);
	}
}

これで、文字コードを指定したテキストファイルの中身で、
ファイル名を処理することが簡単になりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?