亀の甲羅2

今日もまた朝とく起きて励まなん窓に明るきありあけの月

2023-01-01から1年間の記事一覧

powershell : ps2exe の使い方(コマンドライン)

ps1ファイルをExe変換するツール。GUIツールもあるが、powershellコンソールからも実行できる。 Invoke-ps2exeまたは、ps2exeを使用する。 Invoke-ps2exe -inputFile .\source.ps1 -outputFile .\target.exe -noConsole -noConsole は黒いコンソール画面を表…

powershell ファイル削除 (ゴミ箱未使用パターン / ゴミ箱使用パターン)

ゴミ箱未使用 Remove-Item -Path "hogehoge.txt" これは、いつも通り。 ゴミ箱使用 $shell = New-Object -ComObject "Shell.Application" $recycleBin = $shell.Namespace(0xA) $recycleBin.MoveHere("hogehoge.txt") NameSpace(0xA)の0xAは、ShellSpecialFo…

powershell 正規表現 最小マッチ(「.*」 を使ったときに)

.* を使うと任意の文字を0回以上繰り返す。置換などで正規表現を使う場合、思わぬところまでマッチしてしまうことがある。 最大マッチ、最小マッチの概念がある。 $str = "aaa-bbb-ccc.jpg" $str -replace "^.*-", "hoge-" # hoge-ccc.jpg(普通に.*を使うと…

powershell 配列同士の比較(差分取得)

$a = @("a", "b", "c"); $b = @("d", "b", "v"); Write-Host "---- same ----" $same = Compare-Object $a $b -IncludeEqual -ExcludeDifferent | Select-Object -ExpandProperty InputObject $same Write-Host "---- diff ----" $diff = Compare-Object $a …

powershell Linux のtail -f と同じようにファイル(ログ)監視をしてみる

ログ監視って結構使いますよね。Windowsではどうやるんだ?と思い調べてみた。 Get-Content -Path xxxx\hogehoge.log -Wait -Waitをつけると、監視モードになり、hogehoge.logが更新されるとその差分がターミナル上に追記されていく。 動きの速いログでない…

powershell メッセージボックスを表示する

一番単純なメッセージボックスは下記の通り。デフォルトでOKボタンは表示される。 Add-Type -AssemblyName System.Windows.Forms [System.Windows.Forms.MessageBox]::Show("I Love you so ...") Showメソッドを調べれば、引数はほかにもある。 Add-Type -As…

powershell sleepしたい Start-Sleep

Start-Sleep -Milliseconds 1000 これで1秒スリープする。 Bingちゃんが教えてくれた。

powershell ランダムな数字を生成する Get-Random

$random = Get-Random -Minimum 50 -Maximum 1000 50~1000までのうちでランダムな数字を返却してくれる。 Bingちゃんが教えてくれた。

PowerToys text-extractorに韓国語のOCRパッケージをインストールする。

ちょっと韓国の情報が気になりtext-extractorで画像から文字を取得したい場合が出てきた。 learn.microsoft.com 管理者権限のあるpowershellで以下を実行する。 $Capability = Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*…

poweshell 入力フィールドを持つGUIウィンドウを作成する(Bing)

Bingに作らせてみた。BingAIは指示代名詞が使えるので、簡単な質問から始めて徐々に深化させて要求する答えを導くことができる。なかなか使える。 powershellでGUIウィンドウを表示するスクリプト サンプルスクリプト 上記に入力フィールドとOKボタンを追加…

powershell 例外処理とexit

通常、powershellでexit 0 が正常終了、0以外が異常終了となる。 終了コードは「%errorlevel%」環境変数に格納されるため、PowerShellスクリプトを実行した後、echo %errorlevel%と記述して終了コードを表示できる。 powershellスクリプト側はこんな感じ。 t…

powershell 特定のファイル名のみ削除

これも定型パターンでしょう。 今回は拡張子でパターンを指定してみた。(-Filterはワイルドカード指定っぽい) $directory = "C:\hogehoge" Get-ChildItem -Path $directory -Filter *.jpg2 -Recurse | ForEach-Object { Remove-Item -LiteralPath $_.FullN…

poweshell 特定のパターンに合致しないファイルのみを削除する

もう、これは定型パターンでしょう。 $path = "C:\hogehoge" $pattern = ".*_noExif.jpg" Get-ChildItem -Path $path -Recurse | Where-Object { $_.Name -notmatch $pattern } | Where-Object { !$_.PSIsContainer } | %{Remove-Item -LiteralPath $_.FullN…

MS Bing にpowershellのスクリプトを作らせてみた

Bing がなかなかできるやつだと聞いたので、ちょっとお試ししてみた。 「powershellで画像のExif情報を削除するスクリプトを作成して下さい。」 で、Bingちゃんがくれた回答が下記の通り。まだ動作確認してないけど、直感でこれはイケてるって思えるコード。…

powershell 正規表現で複数行にわたってパターンマッチさせたい(「単一行モード」)

Ride with GPSでエクスポートしたgpxファイルがGarmin etrex20(英語版)で認識できなかった。 やりたいこと Ride with GPSでエクスポートしたgpxファイルをGarmin etrex20(英語版)で認識できるgpxファイルに加工したい。 1.問題点 Ride with GPS からエ…

powershellサンプル ファイルだけ一カ所に集めるスクリプト

ファイル整理の際に 複数のフォルダに分かれている(数が多い) フォルダが深すぎる、多分岐すぎる みたいなことがあると、非常に面倒。 「とりあえず全部1つのフォルダにまとめちゃえ!」方式のスクリプト例。 # 適宜変更のこと。外部からCALLするようなこ…

powerhell カギ括弧付きのファイルをファイル名変更(もしくは移動)

ファイル名に[] (カギ括弧)があると、Move-Itemがうまく動作しないことに気が付いた。 powershell ISEなどでオプションのサジェストには表示されないが「-LiteralPath」が使えるようだ。 PS > Move-Item -LiteralPath [aaa]aaa.txt ccc.txt PS > ls ディレ…

Edge がAlt+Tabでうざいのを変更する

ある時気づいた。 ALT+TABで目的のアプリケーションにたどり着くまでに時間がかかるようになった。 理由はEdgeのTabが1つ1つALT+TABの一覧に表示されているため、目的アプリケーションまでのキー押下数が増えたこと。 設定を見ると「Edgeで最大5つのタブ…

Edgeでブラウザ内画面分割

ちょっと感動した記事があったのでメモ。 Edgeをブラウザ内で画面分割できる。 (例) URL部分は、左が左の画面、右が右の画面のURLとなる。 大きなディスプレイを使っている人は、割と右側に余裕がある。 ブラウザを2つ並べてもいいのだけれど、1ブラウザ…

powershell タスクスケジューラ 「タスクの実行時に使うユーザー アカウント」の確認

とあるタスクのこの部分(タスクの実行時に使うユーザー アカウント)をpowershellで確認してみた。 ・例として、タスクパス=\ の「My Backup Task」というタスクについて確認してみる。 (管理者権限のあるpowershellターミナルから実行している) PS > ((…

コマンドラインでFirefox

ファイル名を指定して実行。 firefox https://www.yahoo.co.jp powershellから。 > Start-Process "Firefox" -ArgumentList "-url https://www.yahoo.co.jp" ・その他のコマンドラインオプション コマンドラインオプション - Mozilla | MDN

コマンドラインでEdge(URL指定あり)

msedge url でとりあえずEdgeをURL指定で起動できる。試してみたところ、すでにEdgeが起動していれば新しいTabで開いてくれる。 powershellからCALLするならば、下記の通り。 > Start-Process "msedge" -ArgumentList "https://www.yahoo.co.jp"

mp3tag をコマンドラインで開く(フォルダ指定)

単純にmp3のタグを編集するソフト:mp3tagをフォルダ指定でコマンドラインから開くにはどうしたらいいのだろう?って思って調べた。 同梱のHelpファイル(html)から探し出せた。 docs.mp3tag.de Start with directory Mp3tag.exe /fp:"<full-qualified path to directory>" powershellからCall</full-qualified>…

powershell 任意の文字を消し去る -replace(置換、正規表現)

任意の文字(文字列)を消し去りたい場合、SubStringで切り出すのもいいけど、置換した方が手間がない。 (場合によるけど) $b = "プロパティ9[ううううう]" (($b -replace 'プロパティ9','') -replace '\[','') -replace '\]','' 実行結果 ううううう 正…

Powershell Select-String (いわゆるGrep)

ファイルからGrepする方法の基本。 データファイル データファイル:data.txt データファイル プロパティ1[ラーメン] プロパティ2[晴れ] プロパティ3[2023/4/15] プロパティ4[伊藤博文] プロパティ5[犬養毅] プロパティ6[ABC] プロパティ7[あああああ…

HHBK で コンテキストメニューを使う + 「あふ afxw」でも使う

最近キーボードをHappy Hacking Keyboard Professional HYBRID Type-S (日本語)に変えてみた。 FキーをFnと併押しなければならないことからすると、怠惰なプログラマには向かないような気がしている。 片手でパンを齧りながらデバッグするとか、コーヒー飲…

Git: インストール済みのGitのアップデートコマンド

git

いつも忘れるので、メモ。 ターミナルから、以下のコマンドを実行。 git update-git-for-windows curl を使ってDLしているみたいなので、ウイルスソフトでガードがかかっている場合などは、適切に通信させる必要がある。

あふw メニュー頭文字で即決定したくない

あふのmenuを用意していると、数が増えて必ずしもユニークな頭文字を準備することができなくなる。私はそのコマンドのイメージから頭文字を決めているだけなので、頭文字が重複したり、A1、A2、A3のように2文字構成でカテゴリ分けのように使ったりしている。…

powershell : タスクスケジューラでpowershellを直接CALLすると青い画面が出る問題

powershell : 決まった時間にシャットダウンするタスク(1回だけ) - 亀の甲羅2 で書いた通り、タスクスケジューラからpowershellを(直接)CALLすることができた。でも、青い画面が一瞬見える。それがウザい。 Powershell コラム:タスクスケジューラによ…

powershell : 時間のかかるコマンドレットでプログレスバー(進捗)を表示させない

Compress-Archiveとかそこそこ時間がかかるコマンドを実行するときにプログレスバー(緑色)が表示されるのがウザかった。 $progressPreference = 'silentlyContinue' という魔法の呪文を唱えるだけでいい。 1. 自動変数でプログレスバーを表示させない #現…