*run -log commandを実行すると標準出力がログ窓に出力されますが改行が付加されていないようで、既に出力されているログ文字の後ろに追加されてしまいます。例えば、ログ窓の表示状態が以下だとします。 Delete hoge.txt Copy fuga.txtこの状態で *run -log commandを実行すると下記になります。 Delete hoge.txt Copy fuga.txt[標準出力された文字]ご確認のほどよろしくお願いいたします。 Windows 10 Paper Plane cUI Version 1.97
*run -log は始めに改行を入れていないので、それまでのログの最後に改行がないと、指摘の通りになります。ただ、例示された例ではこちらでは改行されているので、続けた状態にはなりませんでした。一度見直してみます。また、応急の対策として、*logwindow "" %: *run -log ... とすれば必要に応じて予め改行して続けて表示されないようになります。
*logwindow "" %: *run -log ... を試したところ、ファイル操作などによるデフォルトのメッセージの後であれば改行されました。ただ、連続して *logwindow ... を実行すると改行無しで連結されてしまいました。環境による違いもありそうなので、別環境でも試してみます。
まだ他環境では確認できていませんが、そもそもが標準エラー出力をロギングしようとしたのが悪かったのかもしれません。今回、試したのは以下の通りです。%Os *string o,str=%*input(-title:"zoxide query" -mode:e) %: *run -log -launch -hide -noppb zoxide query %so'str' | nkf -xWs | xargs -0 %0\ppcw.exe -r
「*logwindow ""」については *logwindow "" を実行する時点で未改行の時は改行する動作なので、連続実行しても改行がその分増えるわけではありません。また、*run -log は提示された例ですと最終的に画面に表示される内容のロギングになるので(現状では内部で cmd.exe を使っている)、確かに意図した内容と違う結果になりそうです。