#author("2021-02-06T16:02:21+09:00","default:ryuichi","ryuichi")
#author("2021-02-06T16:03:05+09:00","default:ryuichi","ryuichi")
* 文字列のクォート [#pfe9b327]
** クォートは省略できる [#m8428c99]
Get-Item "a.txt"
Get-Item 'a.txt'
Get-Item a.txt
- 上の場合、ファイル名 a.txt がスペースを含まないなら、クォートを省略できる。
** ダブルクォートは変数展開する、シングルクォートはしない [#uee91c03]
echo "DEBUG: $env:OS" # => DEBUG: Windows_NT
echo 'DEBUG: $env:OS' # => DEBUG: $env:OS
** クォートのエスケープ [#v3c718a8]
** ダブルクォートの中でクォートをエスケープする場合 [#x20ba906]
echo "It's you" # => It's you ダブルクォートの中ではシングルクォートはエスケープする必要ない
echo "It`"s you" # => It"s you ダブルクォートは`バックティックでエスケープする、もしくは、
echo "It""s you" # => It"s you ダブルクォートを重ねて""のようにしてエスケープしてもよい
*** シングルクォートの中でクォートをエスケープする場合 [#l7b730aa]
echo 'It''s you' # => It's you シングルクォートの中ではシングルクォートを重ねてエスケープする
echo 'It`'s you' # => (エラー) シングルクォートの中では`でエスケープすることはできないので注意!
** ダブルクォートの中で$ダラーや`バックティックをクォートする [#ieb8494f]
*** ダブルクォートの中で$ダラーや`バックティックをクォートする [#ieb8494f]
echo "$PSHOME" # => C:\Windows\System32\WindowsPowerShell\v1.0 変数PSHOMEが展開される
echo "`$PSHOME" # => $PSHOME `でエスケープすれば変数PSHOMEは展開されない
echo "``" # => ` バックティック自体を表示するには``のように2個重ねる
- 参考 http://www.rlmueller.net/PowerShellEscape.htm
** オブジェクト変数を変数展開するには$()でサブシェル展開する [#qd7c03bd]
$file = Get-Item a.txt
echo "DEBUG: $($file.LastWriteTime)" # => DEBUG: 04/30/2018 12:33:37
** 参考 [#qd70c634]
https://www.petri.com/can-quote-quoting-variable-expansion-powershell