「Windows/powershell/基本」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→文字列内に変数) |
(→文字列内に変数) |
||
行35: | 行35: | ||
echo "hoge=$hoge" | echo "hoge=$hoge" | ||
echo "hoge=${hoge}" | echo "hoge=${hoge}" | ||
+ | 公式参考:https://docs.microsoft.com/ja-jp/powershell/scripting/learn/deep-dives/everything-about-string-substitutions?view=powershell-7.1 | ||
==dir存在判定== | ==dir存在判定== |
2021年8月19日 (木) 19:08時点における版
変数
$hoge = "hogehoge"
判定
$condition = true if ($condition) { Write-Host "OK" }
比較
$num = 10 if ($num -eq 10) { Write-Host 'OK' } else { Write-Host 'NG' }
その他比較
if ($num -ne 10) # 等しくない if ( $value -gt 5 ) # < if ( $value -lt 5 ) # > if ( ($age -gt 13) -and ($age -lt 55) ) # and条件 if ( $age -le 13 -or $age -ge 55 )# and条件
文字列内に変数
echo "hoge=$hoge" echo "hoge=${hoge}"
dir存在判定
if (Test-Path .git) { Write-Host "exists" }
.gitのdirがある
変数で定義したpathを使用
$path = "hoge.txt" $data = Get-Content $path
テキスト文置換
aaaをcccへ置換
$data = Get-Content hoge.txt | % { $_ -replace "aaa", "ccc" } $data | Out-File hoge.txt
参考:https://teratail.com/questions/290149
エスケープ文字対応
[]などは、\でエスケープする
$data = Get-Content hoge.txt | % { $_ -replace "aaa\[hoge\]", "ccc[piyo]" }
実行ファイルのdirpath
version3未満の場合
$ScriptDir = $MyInvocation.MyCommand.Path echo $ScriptDir C:\Users\hoge1\Desktop\hoge.ps1
version3以上の場合
$ScriptDir = $PSScriptRoot echo $ScriptDir C:\Users\hoge1\Desktop