雑多な日々

ノンセクションで行こうかと思っています。

バッチファイルで、ECHO出力で改行なしで出力

2010年01月14日 | Weblog
バッチファイル内で、改行しないで、ECHOの出力を行う方法。

UNIX系でいうところの、
% echo -n 'Start...' ; echo 'End.'
Start...End.
というやり方。

調べてみると、ありました。

% SET /P X=Start...<NUL || ECHO End.
何をしているか、というと、環境変数Xに対し、「Start...」というプロンプトを表示して、ユーザに入力を促す、という処理を逆手に取って、入力は、NULデバイスから行う事により、本来、プロンプトを表示し、入力待ちとなるところを、プロンプトの表示だけさせる、という、なんともな方法でした。
次の、ECHOにより、改行込で出力されますから、次の行への遷移も行える、というところです。

ちなみに、空行を出したい、というときは、
% ECHO.
と、「ECHO」と「.」を、間を開けずに入力して、実行すれば、OKです。

また、日付をYYYYMMDDフォーマットで取得するには、
% SET STRDATE=%DATE:~-10,4%%DATE:~-5,2%%DATE:~-2,2%
と、環境変数DATEに入っている文字列から、年月日のそれぞれの箇所から取得する、という形で実現できます。

ま、いわゆる、小技、ですね。