内容へ移動
[[
✎ home:rec:encode-checker-ps1-01
]]
doku@ainoniwa
文書の表示
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Aviutlのエンコード進捗率確認用スクリプト ====== 出力イメージは、[[..:encoding]]を参照。 スクリプトはPowerShellで動かす。 <code> #--------------------------------------------------------- #---- エンコード進捗率をそれっぽく吐き出すスクリプト #--------------------------------------------------------- #--------------------------------------------------------- #---- $AviutlPath : Aviutlのパス #---- $OutputMovie: ファイルの出力先パス #---- $Filetype : 出力ファイルの拡張子 #---- $Machine : エンコード中のマシン名 #--------------------------------------------------------- $AviutlPath = "C:\movie\aviutl" $OutputMovie = "V:\anime" $Filetype = "mp4" $OutputLog = "Z:\data\txt\encoding.txt" $Machine = "KIYOKA" #--------------------------------------------------------- #---- 日付とAviutlのエンコード残り時間取得(window名の取得) #--------------------------------------------------------- $Date = Get-Date $Run = get-process | % {if ($_.mainwindowhandle -ne 0) {$_.mainwindowtitle}} | ?{$_ -like "*%*"} #--------------------------------------------------------- #---- Dokuwiki用のフォーマットで記載する #--------------------------------------------------------- Set-Content $OutputLog "====== エンコード状況 ======" -encoding UTF8 Add-Content $OutputLog "" -encoding UTF8 Add-Content $OutputLog "** $Date 取得(取得時間が古い場合、たぶん $Machine はお休み中です) **" -encoding UTF8 Add-Content $OutputLog "" -encoding UTF8 if(! $Run.IndexOf("%")){ Add-Content $OutputLog " * 現在、エンコード中のタスクはありません。" -encoding UTF8 } #--------------------------------------------------------- #---- Aviutlで使っているbatchファイルの一覧取得 #--------------------------------------------------------- $AviutlBatch = @(Join-path $AviutlPath batch* -Resolve) #--------------------------------------------------------- #---- バッチの名前の順で一覧を取得してるから、最初だけ出力中の%を出して、後は保留。 #---- 並び替えたときの動作までちゃんと見てない。 #--------------------------------------------------------- for( $count=0 ; $count -lt $AviutlBatch.Length; $count++){ $Encoding = Get-Content -Path $AviutlBatch[$count] -TotalCount 1 $Index1 = $Encoding.IndexOf($OutputMovie) $Index2 = $Encoding.IndexOf($Filetype) + $Filetype.Length $Encoding = Split-Path $Encoding.SubString($Index1,$Index2 - $Index1) -leaf if($count -eq 0){ # Write-Host "$count : $Encoding : $Run" Add-Content $OutputLog "$Machine が頑張ってエンコードしてくれてます。" -encoding UTF8 Add-Content $OutputLog "^ エンコード順序 | エンコ対象 | 進捗率 |" -encoding UTF8 Add-Content $OutputLog "^ $count | $Encoding | $Run |" -encoding UTF8 }else{ # Write-Host "$count : $Encoding : エンコ待ち" Add-Content $OutputLog "^ $count | $Encoding | エンコ待ち |" -encoding UTF8 } } Add-Content $OutputLog "" -encoding UTF8 </code>
文書の表示
以前のリビジョン
メディアマネージャー
文書の先頭へ