6-1.処理 3.エピソードファイルループ処理 とりあえず対象提示
次の解説対象は、長いです。
# バックアップファイルフォルダ内のファイルを取得する(ファイル名順)
$itemList = Get-ChildItem ($inptFldr + "\" + "episode*") | Sort-Object { $_.Name }
#取得したファイルリスト($itemList)をループで1件ずつ処理
foreach($item in $itemList){
#タイトル取得
$titleName=(Get-Content -Path $item.FullName -Encoding utf8)[1..1]
#見出しチェック
if($sctnFlg -eq 1){
#取得したタイトル名と目次配列の値(タイトル置換)が一致していない間ループ
while($titleName -ne ($sctnArr[$sctnCnt] -replace $rpRgx)){
#大見出しかチェック(正規表現で判定)
if($sctnArr[$sctnCnt] -match $bSctRgx){
#大見出しの出力実行(正規表現で不要部分を置換)
Write-Output ($bSct+($sctnArr[$sctnCnt] -replace $rpRgx)) | Add-content -Path $otptPth -Encoding utf8
#目次配列のカウンタ+1
$sctnCnt=$sctnCnt+1
continue
}
#小見出しかチェック(正規表現で判定)
if($sctnArr[$sctnCnt] -match $sSctRgx){
#小見出しの出力実行(正規表現で不要部分を置換)
Write-Output ($sSct+($sctnArr[$sctnCnt] -replace $rpRgx)) | Add-content -Path $otptPth -Encoding utf8
#目次配列のカウンタ+1
$sctnCnt=$sctnCnt+1
continue
}
}
#目次配列のカウンタ+1
$sctnCnt=$sctnCnt+1
}
if($chptFlg -eq 1){
Write-Output ($ttlStr+$titleName) | Add-content -Path $otptPth -Encoding utf8
}
Write-Output $brk | Add-content -Path $otptPth -Encoding utf8
#取得開始位置ゲット
$lnnmbr= Get-Content $item.FullName -Encoding utf8 | select-string $cntntRgx -Encoding utf8
#ファイルの最大行数取得
$rowcnt=((Get-Content -Path $item.FullName).Length - 1)
#内容取得
$content=(Get-Content -Path $item.FullName -Encoding utf8)[$lnnmbr.LineNumber..$rowcnt]
#本文部分を出力。文字コードはUTF8
Write-Output $content | Add-Content -Path $otptPth -Encoding utf8
#章区切り出力
Write-Output $brk | Add-content -Path $otptPth -Encoding utf8
Write-Output $chptDlmt | Add-content -Path $otptPth -Encoding utf8
Write-Output $brk | Add-content -Path $otptPth -Encoding utf8
}
なので解説は次からで。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます