PowerShellが強そうなのはわかったがとりあえずBAT使い向けにメモが欲しいと思ったので、主なコマンドを書いてみました。
AliasはBATと同様な表記が可能な場合に○しています。ただしオプション等は異なる場合がほとんどです。
早見表
処理 | BAT | Alias | PowerShell |
---|---|---|---|
ディレクトリリスト | DIR [path] | ○ | Get-ChildItem [path] |
ディレクトリ変更 | CD [path] | ○ | Set-Location [path] |
ディレクトリ作成 | MKDIR [path] | New-Item [path] -itemType Directory | |
ディレクトリ削除 | RMDIR [path] | ○ | Remove-Item [path] |
ファイルコピー | COPY A.txt B.txt | ○ | Copy-Item A.txt B.txt |
ファイル変名 | REN A.txt B.txt | ○ | Rename-Item A.txt B.txt |
ファイル表示 | TYPE A.txt | ○ | Get-Content A.txt |
SUBST | SUBST D: [path] | New-PSDrive D filesystem [path]] | |
環境変数設定 | SET A=1 | $A=1 | |
環境変数参照 | %A% | $A | |
引数参照 | %1 | $Args[0] | |
システム日付(8桁) | %DATE:~0,4%(以下略) | (Get-Date).ToString("yyyyMMdd") | |
システム時刻 | %TIME% | (Get-Date).ToString("hhmmss") | |
成否確認 | %ERRORLEVEL% | $? (True/False) | |
IF | IF %A% EQU "1" THEN ~ | if ($a -eq "1"){} | |
終了 | EXIT 0 | ○ | exit 0 |
ヘルプ | TYPE /? | type -? |
PowerShellの終了コードを確認する場合は$LastExitCode
比較演算
演算子 | 例 | |
---|---|---|
ワイルドカード | -like | "adress" -like "adr*" |
正規表現 | -match | "power" -match "po.+" |
包含 | -contains | "shell" -contains "hell" |
否定型は -notlike,-notmatch,-notcontains
おわり
とにかく多機能、Class定義までできますし。
FOR文はまとめられそうだったら・・・。
開発環境としてはVSCodeがメインになるようですね。