PowerShell メモ

Power Shell ISEなんか使いにくい。

実行環境

スクリプトを実行できるようにする。 Windows Power Shellを管理者権限で起動し以下を入力する。

Set-ExecutionPolicy RemoteSigned

で、ポリシーを変更するとスクリプトを処理できるようになる。

Hello World

echo “Hello World”

コマンドレット

PS(PowerShell)でのコマンドをコマンドレットという。 Set-LocationとかGet-Contentとか。 Unixコマンドの名前でAliasされているものもある。

alias

で見られる。

コマンドレットのヘルプは

help コマンドレット

で見られる。

コメント

# 単一行コメント

<#
複数行コメント
#>

基本的な文法

# test.ps1

# 引数定義
Param($p1, $p2)

# 変数定義
$test = "Test"
${こんにちは世界} = "Hello World"
[int] $one = 1
echo $test
echo ${こんにちは世界}
echo $one

# .NETモジュールのAPIを使用可能
echo $test.ToUpper() 

# ""なら展開される
echo "Hello $test"

# 文字列連結
echo ("a"+"b")

# 配列
$array = "one", "two", "three"
$number = 1..3
echo $array[1]
echo $number

# ループ
foreach($i in @(1,2,3,4)){
    echo $i
}
for($i=0;$i -lt 3;$i++){
    echo $i
}

# if
if($true){
    echo $true # $true, $false はすでに登録されている
}elseif($false){
    echo $false
}else{
    echo "else"
}

# 引数
echo $args.Length
echo $p1
echo $p2

# 関数
function func(){
    echo "func"
}
function func1($a){
    echo $a
    return 0
}
func
$ret = func1("Hello")
echo $ret

# 定数
set CONST "const" -option constant
echo $CONST
# $CONST = "error" エラーになる

# コマンドの実行結果取得
$ret = (ls)
echo $ret


参考文献

Windows - PowerShell 使い方メモ - Qiita