PowerShell

拡張子:「.ps1」

コメント: # 一行単位のコメントです。

     <#

       複数行で記述する
       コメント表記です。
     #>

大文字と小文字について:

PowerShellでは文法上、大文字小文字を区別しません。

「Write-Host」と「write-host」は同じコマンドレットと判断されます。

複数行の記述:
コマンドが長すぎて複数行に渡る場合は、行の終了で「バッククォート(`)」を記述することで、複数行に記述することが可能です。
Write-Host("USAGE: " + $MyInvocation.MyCommand.Name + `
     " arg1 arg2")
一行にまとめて記述する場合には「;」を用います。
Write-Host("hello"); Write-Output("world")

 

Excel 起動とワークブックを開く:

# Excel起動
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $True

# ワークブックを開く
$XlsxPath = "C:\temp\Test.xlsx"
$Workbook = $Excel.Workbooks.Open($XlsxPath)

 

e.g. Sample.ps1(right click - clich "Edit")

f:id:lullylapislazuli:20200928103806p:plain

Opened "Sample.ps1" on Windows PowerShell ISE

f:id:lullylapislazuli:20200928103831p:plain

 

 PowerShellをbatファイルから実行する

test1.bat
@echo off
REM パワーシェルを呼び出すバッチファイルです。
REM test.ps1 が test.bat と同じフォルダにある場合です。
echo 〇〇〇をしています…
powershell -NoProfile -ExecutionPolicy Unrestricted .\test1.ps1 first second third

REM 実行結果を見るために一時停止させます。
PAUSE

test1.ps1
# バッチファイルから呼び出される側のパワーシェルファイルです。
Write-Host ('渡された引数1個目:' + $Args[0])
Write-Host ('渡された引数2個目:' + $Args[1])
Write-Host ('渡された引数3個目:' + $Args[2])

test1.bat の実行結果は次の通りです。
渡された引数1個目:first
渡された引数2個目:second
渡された引数3個目:third

 

test2.bat
@echo off
REM パワーシェルを呼び出すバッチファイルです。
REM test2.ps1 が test2.bat と同じフォルダにある場合です。
echo 〇〇〇をしています…
powershell -NoProfile -ExecutionPolicy Unrestricted .\test2.ps1 -age 30 -last_name 田中 -first_name 太郎

REM 実行結果を見るために一時停止させます。
PAUSE

test2.ps1
# バッチファイルから呼び出される側のパワーシェルファイルです。
Param(
[string]$first_name
, [string]$last_name
, [int]$age
)

Write-Host ('名前:' + $last_name + ' ' + $first_name)
Write-Host ('年齢:' + $age)

test2.bat の実行結果は次の通りです。
名前:田中 太郎
年齢:30

 

Reference

PowerShellスクリプトの作成と実行 CapmNetwork

PowerShell で Excel をどうのこうのすることに興味を持ってくれると嬉しい - Qiita

 

PowerShell ドキュメント - PowerShell | Microsoft Docs

第1回 PowerShellの概要 (1/4):PowerShell的システム管理入門 - @IT

PowerShell Desired State Configuration(DSC)とは(前編) (1/2):PowerShell DSCで始めるWindowsインフラストラクチャ自動化の基本 - @IT

PowerShell 使い方メモ - Qiita