SEブログ

【PowerShell】変数の基本的な使い方の説明

こんにちは!

 

 

 

今回は、PowerShell の変数について基本的な使い方を説明いたします。

 

 

 

変数の使い方

 

 

変数とは、ある値や文字列を埋め込んで、それを呼び出せるような便利なものです。

詳しく説明するより、見てもらえれば理解できるかと思います。

 

 

例えば、こんな感じです。

 

PS C:\Users\Administrator> $var = "Hello"
PS C:\Users\Administrator> $var
Hello

 

 

 

上では、 $var という変数に Hello という文字列を指定しました。

Hello が $var という変数に埋めこまれた感じになります。

 

 

この $(ドル)ですが、変数の頭に付きます。変数はアルファベット(英語)で書きます。分かり易いのが良いでしょう。

ここでは便宜的に、変数は英語で variable  ですので、短縮して $var としています。

 

 

また、変数に複数の単語が続く場合は、_(アンダースコア)でつなぎます。

例えば、$file_copy などです。

 

 

 

変数の命名規則

 

 

変数を書くときは名前規則というのがありまして、以下のルールに沿って書かなければなりません。

 

 

  • $ で始めます。
  • 単語が 2 個以上続く場合は、_(アンダースコア)でつなぎます。余談ですが、これをスネークケースと呼びます。

 

 

変数はニックネームみたいなイメージですかね。例えば、浦島という名前が 10 という変数に埋め込まれるとします。

味気ないので下の画像では、浦島くんが 10 番と呼ばれるようにしました。つまり、10 というニックネームが付きました。

 

 

 

 

 

これを PowerShell に置き換えるとこうなります。

 

PS C:\Users\Administrator> $10 = "浦島"

 

 

 

それで、今度は埋め込まれた変数を呼び出してみます。

みんなで浦島君に 10番で呼んでみます。

 

 

 

 

本当は浦島という名前ですが、10 というニックネームで浦島君が呼べたのです。

これを PowerShell に置き換えるとこうなります。

 

PS C:\Users\Administrator> $10
浦島

 

 

 

これで変数の使い方がどんなものかお分かりいただけたかと思います。

複数の変数に値をいれて、一度に呼び出すこともできます。

例えばこんな感じです。

 

PS C:\Users\Administrator> $var1 = "Hello"
PS C:\Users\Administrator> $var2 = "World!"
PS C:\Users\Administrator> "$var1 $var2" 
Hello World!

 

 

 

$var1 という変数に Hello を埋め込んで、$var2 という変数に World! を埋め込みました。

それで、$var1 と $var2 を一度に呼びました。文字列なので、”(ダブルクォーテーション)で囲ってます。

 

 

 

ここまで、変数に文字列を埋め込んでから変数を読んで、埋め込まれた文字列を呼び出しました。

そこで、設定した変数を確認する事もできます。

 


PS C:\Users\Administrator> Get-Variable
...
PSVersionTable {PSVersion, PSEdition, PSCompatibleVersions, BuildVersion...} 
PWD C:\Users\Administrator
ShellId Microsoft.PowerShell 
...
<strong>10 浦島</strong>
<strong>var Hello</strong>
<strong>var1 Hello </strong>
<strong>var2 World!</strong> 
...
VerbosePreference SilentlyContinue 
WarningPreference Continue 
WhatIfPreference False 

 

 

 

10 と var と var1 と var2 が確認できました。それぞれの変数の右には埋め込んだ文字列が表示されています。

また、別の方法で変数に文字列を埋め込むこともできます。

 

PS C:\Users\Administrator> Set-Variable -Name "goodmorning" -Value "おはようございます。"
PS C:\Users\Administrator> $goodmorning
おはようございます。

 

 

 

変数に埋め込んだ文字列だけ消したい場合は Clear-Variable を使います。

ここでは、$10 に浦島という文字列が埋め込まれたとします。

 

PS C:\Users\Administrator> $10 = "浦島"
PS C:\Users\Administrator> $10
浦島

 

 

 

この浦島という文字列を消したい場合はこう使います。

 

PS C:\Users\administrator> Clear-Variable
コマンド パイプライン位置 1 のコマンドレット Clear-Variable
次のパラメーターに値を指定してください:
Name[0]: 10
Name[1]:    ← Enter キーを押す

 

 

 

変数 10 を呼び出しても、浦島は出てきません。ただ、変数そのものは未だあります。

 

PS C:\Users\Administrator> $10

 

 

 

今度は、変数とそれに埋め込まれている文字列も一緒に消したい場合はこう書きます。

 

PS C:\Users\administrator> Clear-Variable
コマンド パイプライン位置 1 のコマンドレット Remove-Variable
次のパラメーターに値を指定してください:
Name[0]: 10
Name[1]:  ← Enter キーを押す

 

 

 

文字列が格納されているかどうか、Get-Variable で確認できますが、こんな方法もあります。

ただし、どんな文字列かはここでは表示されません。以下のように、$変数.GetType と書きます。

ここでは、10 に浦島がまだ入っている状態とします。

 

PS C:\Users\administrator> $10.GetType()
IsPublic IsSerial Name BaseType 
-------- -------- ---- -------- 
True True String System.Object 

 

 

 

True や String と表示されていますよね、これはまだ文字列が埋め込まれている結果になります。

Clear-Variable で消した状態ですとこうなります。

 

$10.GetType()
null 値の式ではメソッドを呼び出せません。
発生場所 行:1 文字:1
+ $var.GetType()
+ ~~~~~~~~~~~~~~
 + CategoryInfo : InvalidOperation: (:) []、RuntimeException
 + FullyQualifiedErrorId : InvokeMethodOnNull

 

 

 

以上で変数の説明はここまでとさせていただきます。

 

 

いかがでしょうか。

変数は色々な使い方ができますので、まずはこの基本的な使い方を覚えておきましょう。

 

 

では最後までお読みいただきありがとうございました!

 

 

おすすめの本はこちら ↓↓↓