2020年8月13日木曜日

PC コマンドプロンプトで1コマンドを複数行で書く

普通は逆が多いと思うのですが、
視認性や内容編集の観点から、
1コマンドを複数行で書きたい事もありますね。
Windows の CUI プログラムに渡す長い命令文等が相当します。


単純な例を挙げます。
Windows の cmd.exe です。

echo "Test" title="title1" arg1="test arg1" arg2=8 arg3="last"

これの title や arg1/arg2 に与える値を変え乍ら複数回実行したいとします。
例文は短いですが、
実際に、CUI のプログラムに出す命令は、長く長~くなり勝ちです。
作業していて、眼がチカチカする!、なんて経験をお持ちの方もいらっしゃるでしょう。

以下のコマンド記述方法は 先のものと 同じ結果 となります。

echo "Test" ^
title="title1" ^
arg1="test arg1" ^
arg2=8 ^
arg3="last"

各行の行末前から、文字選択して編集すれば良い事になります。

はい。  ざっくり書けば、 ^(半角キャレット)を付加して改行して行きます。
後続行にコマンドが続きます! と言う 印 になっている訳です。

各命令語句の後ろに、半角スペース+^(半角キャレット)そして改行 です。
半角スペースは、元々のコマンドで、オプション区切りとして多用されるもので、
複数オプションを連ねる時に使用されますね。
編集で、^(半角キャレット)そして 改行 が保持されている事 が条件です。

各行、最後の前の半角スペースは重要な意味を持つ為、
うっかり消して仕舞わぬ様に、留意して下さい。
コマンドが正確に動くのに必須です。  きっと。


尚、
不要なスペースやタブ類を可能な限り省くのが 吉 です。
コマンドラインには、物理的な文字数制限があった気がしますので。
      不確かですが、8191 位 でしたでしょうか?。
      昔の OS での公式文書はありますが、今のは検索しましたが不明でした。

ベタ打ちのコマンドに較べ、
幾分か、見通しが利く様になっているとは思いませんか?。

      尚、実際に試して見て、気付いた点もあります。
      私の勘違いかも知れませんが、
      何所で切って分けても良い と言うものでも無い様です。
      後続行が連続行と判断されず途中で分割実行されて仕舞い、意に沿わない結果を招く事があります。
      長くなるのを承知で、繋げてあげないと、誤動作を起こす箇所があるかも知れません。
      行分割は、区切りの良い場所で!、 或いは、相手依存 なので 事前試行! が必要 かも。
      


GUI で無く、CUI のアプリソフト類を上手に使うのは、
意外と、入力ミスを如何にして防ぐか?、にあったりしますので。
この事は、頭の片隅に置いておくと、重宝かも知れません。



0 件のコメント:

コメントを投稿