PowerShell

全角文字が大量に含まれているとなぜか例外が出る

PowerShell 7 で日誌をgrepするとエラーで落ちることがあって、何でだろうと思い調べたら、どうもバグっぽい。全角文字が画面バッファーの幅以上に含まれていると例外が出る。 $Host.UI.RawUI.BufferSize.Width # 160 "`u{5b57}" * 159 | Out-File foo.txt S…

デフォルトのエイリアスとかぶってるコマンド

コマンドプロンプトで使っていたコマンドを PowerShell で実行しようとすると、時々エイリアスとかぶってるやつがあることに気づく。そういう時は後ろに .exe を付ければ実行できる。PowerShellに専用のコマンドレットもあるのだが、その場でタイプして実行…

Out-GridView は選択画面としても使える

Out-GridView を使うとコマンドレットの出力をGUIに表示できるわけだが、PassThru パラメーターを指定することで、オブジェクトの「選択画面」としても機能します。 # 例:カレントディレクトリのファイル一覧を表示して削除するファイルを選ばせる Get-Chil…

PowerShellとファイルの日付についてちょっとしたこと

PowerShellを使うとファイルやフォルダーの日付を簡単に変更できますが、 (Get-Item c.txt).LastWriteTime = '2012/3/4 5:6:7'ちゃんと小数点以下まで指定しないと、日付を変更したことがばれます。 Get-Item *.txt | Select-Object Name,{$_.LastWriteTime.…

コンソールスクリプトが別ウィンドウで実行される

OSを再インスコして気づいたけど、PythonみたいなスクリプトファイルをPowerShellから直接実行しようとすると別ウィンドウに表示されるのな。一方で py hello.py とか python hello.py とかやると、ちゃんとコンソールウィンドウを引き継いでくれる。この動…

PowerShellでエイリアスの逆引き

あるコマンドレットにどんなエイリアスが設定されているのか見たいことってあるわな。例えば、Get-ChildItem にどんなエイリアスが設定されているのか調べるにはこうする。 Get-Alias -Definition Get-ChildItem端的に言うと Get-Alias に -Definition を付…