| -1776- QSVEnc というか PowerShell |
|
暫く前に BluRayディスク作成のためのファイル変換を QSVEncというハードウェアエンコーダーを使うツールで行うと書いた。 それが前に書いた方法で殆ど問題なく動いていたが、時々エラーが出る。確かめるとどうやら処理するファイル名にスペース文字などが入っていて、その文字が PowerShellの制御文字(区切り文字など)として解釈されてしまい、正しいファイル名として渡されないことが問題だとわかった。 通常行われる対策はファイルパスを引用符(ダブルクオーテーションやシングルクォーテーション)で囲むことなんだが、文字列変数をシングルクォーテーションで囲むと変数が展開されない。ダブルクオーテーションだと何故かエラーのままだった。2~3日もアレコレ試しながら悩んだが結論として、文字列変数にシングルクォーテーションを含めてしまう方法を思いついた。 具体的には $fn にファイルパスが入っている場合 $fn="'" + $fn + "'" とやるとファイルパスの前後にシングルクォーテーションが付加されるのでエラーは出なくなった。 そのうちに処理全体を別ページを立ててアップしよう。 今日の写真は白いサザンカ。暫く前から咲き始めたが、この透き通るような白さが好きだ。 |
|
2016/11/17 |