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に変換してみようか。それにあたって、次は配列と再帰処理(処理の呼び出し)あたりかなー。