PowerShell備忘録(まとめ中)

メモ:PowerShellのパイプ処理は遅いしメモリを食う。パイプを通るデータをすべてオブジェクトに変換するため。大容量データを扱うときは.NET Frameworkを使う。

メモ:PowerShellのSet-Contentは、パイプラインでインプットがないと、ファイルが作成されない。
Get-Contentで読んだファイルが0バイトだと、Set-Contentでファイルが出力されない。
中間にさらにパイプ処理を入れ込み、&{process{$_} end{$null}} を入れることでファイルが出力されるようになる。

メモ:PowerShellのInvoke-Expressionで空白を含むパスを実行する場合、空白を”Program` Files"でエスケープする(は2つ必要)。

メモ:PowerShellのGet-ChildItemはパスにワイルドカードを入れないと、-Includeが効かない。

メモ:PowerShellのOut-Fileはmutexをかけないと複数プロセス書き込み時に書き込みロストする。
·
メモ:PowerShellのGet-Contentは型キャストしないと1件の場合はstringで、複数件の場合はarrayで返却される。
·
メモ:HULFT Windows版のutllistは該当履歴がない場合、終了コード81を返す(Linux版では0を返す。バージョン不明)。

メモ:PowerShellでreturnで値を返す自作関数を呼び出す際に、return値を変数で受けないとreturn値が標準出力に出力されてしまう。

メモ:HULFTのutljoinで連結する際にテキストモードにすると、utlbreakを行うOSによって改行コードが自動変換されてしまう。

メモ:HULFTのテキストモード転送では集信側OSにあわせて改行コードが勝手に変換されてしまう。

メモ:Linuxのtestコマンドはワイルドカードが使えない

メモ:PowerShellは、パイプ処理(プロセスタイプのスクリプトブロック)中でreturnしてもプロセス1回分がreturnされるだけで次のプロセスが継続して実行される。