PowerShell

【PowerShell】指定ディレクトリのExcelファイルにパスワードを設定(再帰)

本業の方で必要になった、というかあったらいいなあと思ったので仮組み。一応動作確認はしたので動くはず!(本日2度目) 用意するもの * Set-ExcelPassword.ps1(PowerShell) コード Set-ExcelPassword.ps1 # =============================================== # Set-ExcelPassword.ps1 # - Recursively set password for Excel files # - xlsx / xlsm / xlsb / xls # =============================================== # --- Ask target directory --- $RootPath = Read-Host "Enter target directory path (e.g. D:\Data)" if (-not $RootPath) { Write-Host "No pa
やまぐろ

【PowerShell】指定ディレクトリのExcelファイル名をルールに則り置換(再帰)

本業の方で必要になった、というかあったらいいなあと思ったので仮組み。一応動作確認はしたので動くはず! 用意するもの * Rename-Files-WithRules.ps1(PowerShell) * replace_rules.csv(置換ルールファイル) コード Rename-Files-WithRules.ps1 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $PSDefaultParameterValues['*:Encoding'] = 'utf8' # =============================================== # Rename-Files-WithRules.ps1 (Excel only) # - Rename file names of .xls / .xlsx recursively # - Rules are loaded from replace_rules.csv # ============
やまぐろ

【Java】設計書からDTOクラスを生成する【PowerShell】

DTOクラスは基本的にロジックを有さない。なので、実際の開発現場でも「設計書からコードを生成するようにできないか」みたいな話題が良く上がる。 というわけで、ここで仮組みしてることにした。 ざっくり要件 こんな感じでやっていく。 * 設計書に記載されている内容からDTOクラスを生成する * 設計書ファイルの複数入力可能 * Javaファイルの複数出力可能 * setter/getterの出力有無を選べる * 親クラスの指定ができる * importやpackageはEclipseにお願いするので不要 * 設計書のフォーマットがいじられても大丈夫なつくり(努力目標) 入力する設計書ファイルのレイアウト 以下のようなレイアウトにした。DTO設計書ってだいたいこういう感じだよな? また、シート名は「データ項目」固定とした。 シート名が可変になってしまうと、各シートを読み込み→対象のシートであるかどうかを何かしらの色付けして判定、となり面倒じゃね?と思った次第。 実際のコー
やまぐろ

【PowerShell】Excel内の文字列(セル、図形)を置換し、結果をログ出力する

タイトルの通り、業務でExcel内の文字列置換をしたいことがあったので、PowerShellでツールを作ってみました。 この手のツールは探せばいくらでも出てきますが、制限のある環境下においてはファイルのダウンロードができなかったりしますよね。なので、コードで残しておこうと思います。これならダウンロードしなくてもツールが作れるね!やったね! なお、PowerShellはWindowsでしか動かないので、Macユーザの方は利用できません。さーせん。 実現したこと 以下が、今回実現したことになります。 * Excel内のテキスト(セル、図形)の特定の文字列を置換 * 指定したディレクトリ配下を再帰的に処理する * 処理結果をログファイルに出力する これらの動作については、私の環境では軽く確認し正常動作しているのは確認済みです! 実際のコード 拡張子を「.ps1」にしたファイルに以下を書き込めば完成です。 なお、実行は「右クリック→PowerShellで実行」とかでいけます。
やまぐろ

【PowerShell】特定ディレクトリのファイルを再帰的に削除する

あんまり使うことは無いかもだけど、個人的に使いたい場面があったのでメモ。 ローカルのディレクトリでごにょごにょ作業してて、その構成が案外良く、テンプレートとして別の場所で使いたい、でも既に置かれているファイルは消してきれいにしたい。みたいな限定的な使い方ができるはず。 このPowerShellを配置して実行すると、同じ階層にあるファイル、同階層のディレクトリ配下のファイルを全て消し飛ばす事ができる。もちろんだけど、実行する場合は注意が必要。必要なものも消えちゃうから。そう、思い出とか。 # このスクリプトを配置したディレクトリのパスを取得 $scriptDirectory = Split-Path -Parent $MyInvocation.MyCommand.Path # 自ファイル名を取得 $scriptName = $MyInvocation.MyCommand.Name # 削除対象のファイルパスを再帰的に取得 $files = Get-ChildItem -Path $scriptDirectory -File -Recurse | W
やまぐろ