xlogI125’s blog

パソコン作業を効率化したい

StrCmpLogicalW

PowerShell練習 Select-ObjectのPropertyパラメーター 2

Select-Objectでプロパティを指定してから表示 # PowerShell 5.1, Windows 11 (2024年2月頃) Set-StrictMode -Version Latest Add-Type -Language CSharp -Namespace Win32API -Name Shlwapi -MemberDefinition @' [DllImport("Shlwapi.dll", EntryPoint = "…

PowerShell: フォームにドラッグされたファイルのパスを取得

フォームでのドロップ操作を省略し、ドラッグ操作とクリック操作を考える。 普通にショートカット(*.lnk)アイコンへのドラッグ&ドロップのほうが便利な気がする。 # [テスト環境] # PowerShell 5.1, Windows 11 (2024年2月頃) # [スクリプトファイル(.ps1)] …

PowerShell: フォームにドラッグ&ドロップされたファイルのパスを取得

マウスボタンの接触不良が原因でショートカット(*.lnk)アイコンへのドラッグ&ドロップ操作を失敗すると大変なことになるので、フォームへのドラッグ&ドロップを考える。 # PowerShell 5.1, Windows 11 (2024年2月頃) $ErrorActionPreference = [System.Manag…

Excel VBA練習 WshShell.Exec("PowerShell -Command -")でファイル一覧を取得

メモ FileInfo.DirectoryNameプロパティ相当のつもりで Convert-Path -LiteralPath $_.PSParentPath を使用 Group-Object でグループ化したオブジェクトを List<GroupInfo>.Sort で並べ替え 使い捨てマクロ ファイル名"PowerShell.exe"の検索順序は気にしない ' Excel 2</groupinfo>…

Rename-Itemコマンドの入力準備をExcelシートで行う 2

メモ Excelシート例 使い捨てスクリプト 参考資料リンク 過去記事 メモ Sort-Objectコマンドレットでファイル名を並べ替えた場合の順位を併記 文字列を数式の一部として扱うことでExcelシートへの貼り付け時(G/標準)に文字列が変化しないようにした Excelシ…

GroupInfoの配列をNameプロパティで並べ替え

Group-Object の出力である GroupInfo の配列を Name プロパティで並べ替え 並べ替え: System.Array.Sort 比較: StrCmpLogicalW 使い捨てスクリプト テスト環境: PowerShell 5.1, Windows 11 (2023年1月頃) using namespace Microsoft.PowerShell.Commands S…

PowerShell練習 配列のシャローコピーを並べ替えて返す

メモ ソート後の値を返さないものよりも返すほうが、スクリプトの入力面で扱いやすい気がする。 使い捨てスクリプト # PowerShell 5.1, Windows 11 Set-StrictMode -Version Latest Add-Type -UsingNamespace System.Management.Automation ` -Namespace MyN…

Get-ChildItem -File の BaseName, Extension をCSV形式でクリップボードにコピー

メモ Rename-Itemに使用する文字列の生成をExcelワークシートで行う場合を想定 参考資料リンク about PSCustomObject - PowerShell | Microsoft Learn https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.sort?view=netframew…

PowerShell練習 Excelワークシートでの並べ替え用に順序(StrCmpLogicalW)の連番を作成

メモ 範囲C1:C5をコピーする A B C 1 val11 値0005 =CLEAN(B1) 2 val21 値004 =CLEAN(B2) 3 val31 値02 =CLEAN(B3) 4 val41 値1 =CLEAN(B4) 5 val51 値3 =CLEAN(B5) 使い捨てスクリプトの実行結果を貼り付ける A B C 1 val11 値0005 5 2 val21 値004 4 3 val…

PowerShell練習 CSVファイルをStrCmpLogicalWの順で並べ替える 2

メモ csvファイルの読み込み [List[PSCustomObject]](Import-Csv -Encoding UTF8 -LiteralPath $args[0]) 並べ替え List.Sort(Comparer<PSObject>) 並べ替えに使用する列名は決め打ち 使い捨てスクリプト PowerShell.exeへのショートカット経由で実行 csvファイルの先</psobject>…

PowerShell練習 List.Sort(Comparer<PSObject>)

メモ List.Sort(Comparer<PSObject>) で並べ替え 参考資料リンク Get-Clipboard (Microsoft.PowerShell.Management) - PowerShell | Microsoft Docs 使い捨てスクリプト # PowerShell 5.1, Windows 11 # このスクリプトのファイル名 # "%USERPROFILE%\Desktop\test.ps1</psobject>…

PowerShell練習 CSVファイルをStrCmpLogicalWの順で並べ替える

メモ Import-Csv で取得した PSCustomObject の配列を List に変換 List.Sort(Comparer[PSCustomObject]) や List.Sort(Comparison<PSObject>) で PSCustomObject の NoteProperty の値を StrCmpLogicalW に渡して並べ替え 並べ替えに使用する列名は決め打ち CSVファイ</psobject>…

PowerShell練習 .Sort([Delegate]::CreateDelegate([Comparison[T]], Type, "StrCmpLogicalW"))

メモ クリップボード内のテキストをStrCmpLogicalWの順で並べ替えたものをクリップボードにコピーする 参考資料リンク Everything you wanted to know about arrays - PowerShell | Microsoft Docs about Comparison Operators - PowerShell | Microsoft Docs…

PowerShell練習 フォルダのサイズを一覧で表示

メモ 1つのフォルダのサイズを表示 Get-ChildItem -LiteralPath .\ -Force -Recurse | Where-Object {$_.psobject.properties.match('Length').Count -ne 0} | Measure-Object -Property Length -Sum 参考資料リンク PSCustomObject Everything you wanted t…