誰でもわかる!powershell入門学習サイト〜変数編〜
Sal
powershell プログラミング言語powershellの入門サイトです。今回は第一弾、変数編

誰でもわかる!powershell入門学習サイト〜変数編〜

powershell学習サイト

powershell入門

変数について

変数の書き方は以下の通り
 
$FilePath = "C:\Windows\System32"

変数名に厳しいルールはないが、 基本的には大文字スタートで大文字区切りがよしとされる。

 
NG1 : $filePath
NG2 : $file_path 

GOOD! : $FilePath

「数値の代入 」

 
$num1 = 1

変数確認(変数表示)

echo コマンドを使う。

あるいは代入せずに$num1等でも可能

 
#方法1
$num1 = 1 
echo "num1 varius is $num1"
$num1 = 2 
echo "num1 varius is $num1"

#方法2 
$num1

ちなみに#で始まる行はコメント行と呼ばれ、 プログラムの動作に一切影響を及ぼさない。 コード内に書けるメモだと思っていい。

変数一覧の表示

Get-Variableで可能


$num1 = 1 
echo "numl varius is "$numl 
$num2 = 2
echo "num2 varius is"$num2

Get-Variable 

変数の種類

 
$a = 12                         # System. Int32 
$a = "Word"                     # System. String
$a = 3 ,12, "Word"              # array of System.
$a = Get-ChildItem C:\Windows   # FileInfo and DirectoryInfo types

数字、文字列、配列、コマンドの実行結果まで格納できる。(後々に紹介するが、コマンドの実行結果は再利用が可能)

以下microsoftのドキュメントから

 
整数、文字列、配列、ハッシュ テーブルなど、任意の種類のオブジェクトを変数に格納 できます。 
また、プロセス、サービス、イベント ログ、およびコンピューターを表す オブジェクト。
PowerShell 変数は緩やかに型指定されます。 つまり、特定の種類のオブジェクトに限定されません。 
1つの変数に、異なる種類のオブジェクトのコレクションまたは配列を同時に含めするこ ともできます。
変数のデータ型は、変数の値の.NET 型によって決まります。 変数のオブジェクト型を表示するには、Get-Member を使用します。 

型指定

以下のように大括弧を使用することで型の指定が可能。

 
[int] $number = 8 
$number = "12345" 
$number = "Hello"  #The string is converted to an integer.

上記のコマンドはエラーが起きる!(想定通りのエラー)

ここの例ではintという数値を入れる変数に対して stringを代入していることでエラーが発生させることができる。 ([int]を付けなければ意図していない変数が代入される事態を防げる)

 
Cannot convert value "Hello" to type "System. Int32". Error: "Input string was
not in a correct format. At line:1 char:1 + $number = "Hello"
+
+ CategoryInfo_e: : MetadataError: (:) [],
ArgumentTransformationMetadataException + FullyQualifiedError Id : RuntimeException 

どのような型があるのかは以下のコマンドを打つことで把握できる

 Get-Service | Get-Member 

【代表的なものは以下の通り onwas false

 
int 
string
datetime 
array 

powershell 入門 学習サイト 〜条件式編〜 title:誰でもわかる!powershell入門学習サイト〜変数編〜 description:プログラミング言語powershellの入門サイトです。今回は第一弾、変数編 img:https://blog.hubfly.com/wp-content/uploads/2018/12/powershell.png category_script:page_name.startswith("1")