Powershell(基本的なこと001_Helloworld_if文_for文)

■Powershellを動かしてみる。
Windows S modeでも動かすことができたPowershellを少し使ってみる。

簡単なところから、文字列表示、変数、if文、for文を試してみた。
左下のコードをメモ帳に記入、保存した後、拡張子をps1に変更。プログラムからPowershellを実行後、コンソール画面で保存したファイルを実行。ちなみに、ファイルを右クリックして出るメニューの「編集」や「Powershellで実行」を押すと「Microsoft検証済みアプリのみを実行します」というダイアログボックスが出て編集や実行ができない。Windows S modeの制約だと思う。
結果は右下。

################################
# Variable
# 0
################################
echo Helloworld
$line=0
echo $line

################################
# if sentence
# 0
# %line%
# 111
################################
if ($line -eq 0) {
echo $line
echo %line%
} else {
echo 111
}

$line=1

if ($line -eq 0) {
echo $line
echo %line%
} else {
echo 111
}


################################
# for sentence 
# 0 ~ 7
################################
for ($n=0; $n -lt 8; $n++) {
 echo $n
}

バッチファイルとPowershellでは、ファイルの拡張子からして違う(バッチファイルの拡張子はbat)。
Windows S modeでは、コマンドプロンプトが使えないようなので検証していないけど(ファイル名を指定して実行からcmdを押しても、「Microsoft検証済みアプリのみを実行します」と出て実行されない)、下のように変数やif文、for文のつくり方も違うよう。echoで文字列表示できるのは同じ。

バッチファイル (.bat)Powershell (.ps1)
変数の代入(lineは変数名)set line=0$line=0
if文if %line%==0 (
) else (
)
if ($line -eq 0) {
} else {
}
for文for /l %%n in (0,1,7) do (
)
for ($n=0; $n -lt 8; $n++) {
}
コメントrem #

if文やfor文で、”(”(かっこ)、”{”(中かっこ)の使い方など細かいところも違う。

おそらくバッチファイルにないPowershellの特性のようなものがあるのでは思うけど、とりあえずは前に作ったオセロのバッチファイルをPowershellに変換してみようか。それにあたって、次は配列と再帰処理(処理の呼び出し)あたりかなー。