初投稿
未経験から半年が経ち、案件が変わったら忘れそうなのでアウトプットもしていこうと思い始めました。まだまだ下流工程なので、単体テストの証跡撮り等の効率化したものぐらいしかアウトプットはないですが、小出しで忘れないようにしていこうと思います。
プログラミング言語もいくつか触ったことがあるくらいで、特徴も何も分からないぺーぺーですが、Windows標準搭載のPowershellがとっつきやすくて作ってます。(上司には「これはbatchファイルの方が処理軽いよ~」等アドバイス受けつつ少しずつ成長しています。)
作成の経緯
今回のものはプロセスを立ち上げる際にフルパスを書いたのにユーザーによっては違うところに格納していてうまくスクリプトが機能しないことがあったので作成しました。
対象のあるフォルダを検索し変数に格納する
今回はWinShot類のあるフォルダ(今回はws153a)を検索かけてフルパスを格納します。
エラー出力を飛ばしているのは、Cドライブ直下等から検索をかけるとシステム系のファイルで権限ないもののエラーが大量に吐かれるためです。
#c:/配下のディレクトリをws153aをキーワードに再帰的に検索し、フルパスを$WSPathに格納する
$WSPath = Get-ChildItem -Path c:/ -Filter ws153a -Directory -Recurse 2>$null `
|Convert-Path
-Filter
の後ろを変更することで、よく使うもののパスを検索可能です。
(※ファイル検索時は-Directory
を消します。)
自分がよく検索するのはttermpro.exe
、chrome.exe
等です。
explorer.exe
もプロセスを立ち上げる際によく使いますが、こちらはこれで検索すると複数結果が返ってきますし、標準搭載で場所が分かるので直接指定した方が早いです。
-Path
の後ろは絞れる方が早く検索できます。c:/
等だと範囲が広いため少し時間がかかります。
Winshotの複数の結果が返ってきてしまった場合の対処は以下を参考にしてください。最終行の一行前までで止めることで一意になります。