プロンプトのデフォルト値を指定するために、次のようなものを書きました。
$defaultValue = 'default'
$prompt = Read-Host "Press enter to accept the default [$($defaultValue)]"
if ($prompt -eq "") {} else {
$defaultValue = $prompt
}
さらに短くすることはできますか?
これが私の試みです。
$defaultValue = 'default'
$prompt = Read-Host "Press enter to accept the default [$($defaultValue)]"
if (!$prompt -eq "") {$defaultValue = $prompt}
ワンライナーが欲しいので、それまでは回答を待つつもりです。
Nb は$defaultValue
ワンライナーとは独立して保存する必要があります。上記の例と同様です。
私は、探していた解決策に導いてくれた答えを受け入れました。
$defaultValue = 'default'
if (($result = Read-Host "Press enter to accept default value $defaultValue") -eq '') {$defaultValue} else {$result}
なぜかと聞かれるかもしれませんが、それは、私の後に来る人にとっては目が楽だからです。明瞭さを犠牲にしない限り、少ないことは常に多いことです。私の意見です。
編集;
1 行ではなく、1 つのフレーズにすべきだったのではないでしょうか。私が見た回答のいくつかではセミコロンが使用されていましたが、この編集を追加して明確にしました。
ベストアンサー1
私が思いついた最も短いバージョン:
if (!($value = Read-Host "Value [$default]")) { $value = $default }
このバージョンでは else を使用する必要はありません。