コンピュータや音楽の事書いてます

Powershell

シェルの挙動や表示のカスタマイズ

$PROFILE が指し示すファイルを作成or編集し、powershell起動時に設定したいロジックを記載する 例: Set-PSReadLineKeyHandler -Key Tab -Function Complete #tabキーの挙動をbashの様な感じに Set-PSReadLineOption -Colors @{ Operator = "ffbb33" } #演…

コマンド結果貼り付け時、プロパティ名とか調べてselectとかめんどくさいとき

なんでも | ConvertTo-Html | Set-Clipboard をつければ良い。 一発でクリップボードに入り、Excelに貼り付ければ勝手に表になる。 あとは要らない列を消すだけ。 ls | ConvertTo-Html | Set-Clipboard Get-Process a* | ConvertTo-Html | Set-Clipboard Get…

配列を一括でExcelに書き込むとき、規則がたくさんある

Range型に代入でいっぺんに書き込める配列の条件: 縦,横の要素数が1で始まっている ジャグド配列ではなく、Object[,]型 .Range("A:H") とかだと遅くなるので、きっちり終わりの範囲を示す 要素指定順は[row, column] 下記はlsコマンドの出力から各プロパテ…

[Excel] sharepointのExcelパス トラブル解決 FullNameURLEncoded

sharepointのExcelパスを加工してHYPERLINK関数でリンクさせようとすると色々とうまくいかない時がある。 こういうやつ https://xxxxx.sharepoint.com/sites/aaa/bbb/Shared%20Documents/~~ シート関数の ENCODEURL() はコロンやスラッシュもエンコードし…

Excel操作のテンプレ

準備 using namespace Microsoft.Office.Interop.Excel [Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel") これは[Microsoft.Office.Interop.Excel.Range] などを [Range] と省略できるメリットがあるが、名前空間にうるさい人…

int[]配列をforeach-objectしたら結果が複数ならObject[] 、結果が1つだとint32

int[] にキャスト PS> $arr = ([int[]](1..3)) PS> $arr.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32[] System.Array foreach-objectするとObject[] PS> $arr2 = $arr | %{ $_ } PS> $arr2.GetType() IsPub…

現在ブラウザでログイン中のwebサイトのスクレイピング

クッキーのみでセッションが特定出来る場合 例:Redmine EdgeやChromeの開発者ツールの「アプリケーション」タブからクッキーの名前と値をコピーして、 $url="https://xxxx.cloud.redmine.jp/issues/71643" #表示中のURL $session = New-Object Microsoft.Po…

キャッシュ類とテンポラリファイルの一括削除

Windows起動時に自動実行してしばらく使っている。 数GBくらい違う。 いまのところ不具合なし。 cd $PSScriptRoot #準備 $tdir = ( "$env:APPDATA\Microsoft\Teams\Cache", "$env:APPDATA\Microsoft\Teams\Code Cache", "$env:temp\", "$env:LOCALAPPDATA\Te…

WScript.Shell CreateShortcut 「値が有効な範囲にありません。」HRESULT: 0x80070057

デスクトップに bbb.ps1 ファイルを実行するショートカットaaa.lnkを作るのに $wsh = New-Object -ComObject WScript.Shell $lnk=$wsh.CreateShortcut("$env:USERPROFILE\Desktop\aaa.lnk") $lnk.TargetPath="powershell -ExecutionPolicy Bypass -command "…

[powershell]巨大なテキストファイルの最後の方だけ見るのに時間がかかる

PS> dir \\リモートのPC\巨大ファイル ディレクトリ: \\xxxx\xxx\bin\logs Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/01/12 20:25 68290811 巨大ファイル.log サーバのログの監視などでしょっちゅう状態を知りたいときな…