👻

業務効率化するPowerShellの使い方

2 min read

概要

業務を効率化する程度のレベルでPowerShellを使用する方法を記載した記事です。
(がっつりとしたPowerShellの使い方の記事ではないです。)

前提事項

Windows10の標準でPowerShellはインストールされていますが、バージョンが古いです。
最新はOSS版の「PowerShell 7.1」がリリースされています。

https://github.com/PowerShell/PowerShell

基本的には最新版を使用している前提での記事となります。
同じような挙動のはずですが、exeの名前が「powershell.exe」から「pwsh.exe」に変更になっていたりします。

エクスプローラーで開いているパスでPowerShellを起動する

エクスプローラーで操作している時に、該当のパスをカレントディレクトリとしてPowerShellを開きたい時が良くあります。

操作方法

  1. エクスプローラーを開いた状態で「Altキー + Dキー」を押す。
  2. アドレスバーにフォーカスが当たるので「pwsh」と入力する。
  3. 「Enterキー」を押す。
  4. 開いているパスをカレントディレクトリとしてPowerShellが起動します。

もちろん、右クリック>PowerShell7>Open Hereとかで開くこともできますが、個人的にはこっちの方が使いやすいです。
PowerShellの場合は、ファイルサーバー上のフォルダでもカレントディレクトリとして開けるので便利です。(コマンドプロンプトはできない)
ちなみに、「pwsh」と入力する代わりに「cmd」と入力するとコマンドプロンプトが起動します。

ファイルサーバー上に階層のあるフォルダを作成する

業務で使用するファイルをファイルサーバー上で管理している場合、ファイルサーバー上に階層のあるフォルダを作成するタイミングが頻繁にあります。
上記の方法で、ファイルサーバーのパス上でPowerShellを起動すれば、簡単に階層のあるフォルダを作成することが可能です。(当たり前の話で恐縮ですが)

  1. PowerShellを起動する。
  2. 以下のコマンドを実行する。
mkdir 10_基本設計/10_ドキュメント/画面設計書

カレントディレクトリ直下に「10_基本設計書」というフォルダが作成され、その下の階層にもフォルダが作成されます。

フォルダ配下にあるファイルのパスの一覧を取得する

特定のフォルダ配下にあるファイルの一覧を取得したいことは良くあります。
作成物の納品時とか。
これもPowerShellでコマンドを実行すれば簡単に取得可能です。

  1. PowerShellを起動する。
  2. 以下のコマンドを実行する。
dir -File -Recurse | %{$_.FullName} >list.txt

コマンドを実行すると、カレントディレクトリ配下のファイルの一覧を「list.txt」に書き込みます。
この時「list.txt」の一覧に含まれてしまうので、それは削除してください。

ちなみに、上記のコマンドを長く書くと以下のようになります。

$fileList = Get-ChildItem -File -Recurse
$fileList | ForEach-Object {
    Write-Output $_.FullName | Out-File -Append list.txt
}

新規のテキストファイルを作成する

普通にエクスプローラーで新しいテキストファイルを作成すればいいんですけど、なんとなくコマンドで作成したい時があります。
個人的には「新しいテキスト ドキュメント.txt」が一時的に作成されるのが、嫌な時に使います。

  1. PowerShellを起動する。
  2. 以下のコマンドを実行する。
New-Item 20210722_メモ.md