Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
こんにちは!
今回は、PowerShell の変数について基本的な使い方を説明いたします。
変数の使い方
変数とは、ある値や文字列を埋め込んで、それを呼び出せるような便利なものです。
詳しく説明するより、見てもらえれば理解できるかと思います。
例えば、こんな感じです。
[code language="powershell"]
PS C:\Users\Administrator> $var = "Hello"
PS C:\Users\Administrator> $var
Hello
[/code]
上では、 $var という変数に Hello という文字列を指定しました。
Hello が $var という変数に埋めこまれた感じになります。
この $(ドル)ですが、変数の頭に付きます。変数はアルファベット(英語)で書きます。分かり易いのが良いでしょう。
ここでは便宜的に、変数は英語で variable ですので、短縮して $var としています。
また、変数に複数の単語が続く場合は、_(アンダースコア)でつなぎます。
例えば、$file_copy などです。
変数の命名規則
変数を書くときは名前規則というのがありまして、以下のルールに沿って書かなければなりません。
- $ で始めます。
- 単語が 2 個以上続く場合は、_(アンダースコア)でつなぎます。余談ですが、これをスネークケースと呼びます。
変数はニックネームみたいなイメージですかね。例えば、浦島という名前が 10 という変数に埋め込まれるとします。
味気ないので下の画像では、浦島くんが 10 番と呼ばれるようにしました。つまり、10 というニックネームが付きました。
これを PowerShell に置き換えるとこうなります。
[code language="powershell"]
PS C:\Users\Administrator> $10 = "浦島"
[/code]
それで、今度は埋め込まれた変数を呼び出してみます。
みんなで浦島君に 10番で呼んでみます。
本当は浦島という名前ですが、10 というニックネームで浦島君が呼べたのです。
これを PowerShell に置き換えるとこうなります。
[code language="powershell"]
PS C:\Users\Administrator> $10
浦島
[/code]
これで変数の使い方がどんなものかお分かりいただけたかと思います。
複数の変数に値をいれて、一度に呼び出すこともできます。
例えばこんな感じです。
[code language="powershell"]
PS C:\Users\Administrator> $var1 = "Hello"
PS C:\Users\Administrator> $var2 = "World!"
PS C:\Users\Administrator> "$var1 $var2"
Hello World!
[/code]
$var1 という変数に Hello を埋め込んで、$var2 という変数に World! を埋め込みました。
それで、$var1 と $var2 を一度に呼びました。文字列なので、"(ダブルクォーテーション)で囲ってます。
ここまで、変数に文字列を埋め込んでから変数を読んで、埋め込まれた文字列を呼び出しました。
そこで、設定した変数を確認する事もできます。
[code language="powershell"]
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
[/code]
10 と var と var1 と var2 が確認できました。それぞれの変数の右には埋め込んだ文字列が表示されています。
また、別の方法で変数に文字列を埋め込むこともできます。
[code language="powershell"]
PS C:\Users\Administrator> Set-Variable -Name "goodmorning" -Value "おはようございます。"
PS C:\Users\Administrator> $goodmorning
おはようございます。
[/code]
変数に埋め込んだ文字列だけ消したい場合は Clear-Variable を使います。
ここでは、$10 に浦島という文字列が埋め込まれたとします。
[code language="powershell"]
PS C:\Users\Administrator> $10 = "浦島"
PS C:\Users\Administrator> $10
浦島
[/code]
この浦島という文字列を消したい場合はこう使います。
[code language="powershell"]
PS C:\Users\administrator> Clear-Variable
コマンド パイプライン位置 1 のコマンドレット Clear-Variable
次のパラメーターに値を指定してください:
Name[0]: 10
Name[1]: ← Enter キーを押す
[/code]
変数 10 を呼び出しても、浦島は出てきません。ただ、変数そのものは未だあります。
[code language="powershell"]
PS C:\Users\Administrator> $10
[/code]
今度は、変数とそれに埋め込まれている文字列も一緒に消したい場合はこう書きます。
[code language="powershell"]
PS C:\Users\administrator> Clear-Variable
コマンド パイプライン位置 1 のコマンドレット Remove-Variable
次のパラメーターに値を指定してください:
Name[0]: 10
Name[1]: ← Enter キーを押す
[/code]
文字列が格納されているかどうか、Get-Variable で確認できますが、こんな方法もあります。
ただし、どんな文字列かはここでは表示されません。以下のように、$変数.GetType と書きます。
ここでは、10 に浦島がまだ入っている状態とします。
[code language="powershell"]
PS C:\Users\administrator> $10.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
[/code]
True や String と表示されていますよね、これはまだ文字列が埋め込まれている結果になります。
Clear-Variable で消した状態ですとこうなります。
[code language="powershell"]
$10.GetType()
null 値の式ではメソッドを呼び出せません。
発生場所 行:1 文字:1
+ $var.GetType()
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) []、RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
[/code]
以上で変数の説明はここまでとさせていただきます。
いかがでしょうか。
変数は色々な使い方ができますので、まずはこの基本的な使い方を覚えておきましょう。
では最後までお読みいただきありがとうございました!
おすすめの本はこちら ↓↓↓