doskey
コマンド区切り文字($T
)は、コマンドが出力を生成しないときに空白行を生成します。doskeyコマンド区切り文字で空白行が生成される
C:\> set "a="
C:\> set "b="
C:\> doskey test=set "a=foo" $T set "b=bar" $T echo ^%a^% ^%b^%
C:\> test
C:\>
C:\> foo bar
test
を発行した後の空白行は、読みやすさに影響しますので注意してください。
$T
の代わりによく知られている^?
があります。ブランクは追加されませんが、新しいコマンドは環境変数を継承しません。
C:\> set "a="
C:\> set "b="
C:\> doskey test=set "a=foo" ^& set "b=bar" ^& echo ^%a^% ^%b^%
C:\> test
%a% %b%
はとにかくset
は、新しいコマンドを開始した後は無効である、ここには空白はありません。
空白行を削除するにはどうすればよいですか?
更新: "別のプロセスを作成する"という行が間違っているため削除されました。
ご意見をお聞かせください。 – antonio
@antonio、ちょうど正確に言うと、 '環境変数を継承しない 'も正しくありません。 1)新しいプロセスが存在しません。継承するものは何もありません。2)変数はエコーされませんが、正しく初期化されていれば、 'echo ^%^%^%b %%'を' set'コマンドで置き換え、それらの値を直接取得することはできません。 –