タグ

Tipsとbatchに関するsyqueのブックマーク (2)

  • BAT上でのヒアドキュメントの代替 - さすらいのプログラマ:楽天ブログ

    2009/07/23 BAT上でのヒアドキュメントの代替 (12) カテゴリ:シェル UNIX系のシェルにはヒアドキュメントという便利な機能がある。 BATでできないか、調査したが見つからなかった。 以下のような方法で代替した。 ( ECHO./^^$/d ECHO./レコード/d ECHO./---/d ECHO./^^[A-Z]/{ ECHO. h ECHO.} ECHO./^^ *[0-9][0-9]*/{ ECHO. H ECHO. g ECHO. s/\n//g ECHO. s/ */,/ ECHO. p ECHO.} ) >%SEDFILE% 一旦ファイルへ書き出してそれを使うようにしたのだが、 ECHOそれぞれにリダイレクト(>)を使ってもよいが、 見た目がよくないのリダイレクト(>)記号の前のスペースまで 書き出されてしまう。(上記はsed用であるため、末尾のスペースがある

    BAT上でのヒアドキュメントの代替 - さすらいのプログラマ:楽天ブログ
  • 猫科研究所 - コマンドプロンプトのエスケープ仕様

    コマンドプロンプトで、コマンドに空白を含む文字列を渡したい場合、二重引用符「"」で囲む必要があることは多くの方が知っていると思う。 しかし、その他のエスケープシーケンスはどうなっているのだろうか。Windows XP SP3のマシンでヘルプ内を探してみたが、それらしい記述が見つからない。どうしてそんな基的な仕様を明確に書いていないのだろうか…。 等と思っていたところ、殆ど偶然に、MSDNにその記述を発見したのでメモしておく。 引数は、空白 (スペースまたはタブ) で区切ります。 キャレット (^) は、エスケープ文字やデリミタとしては認識されません。カレットは、オペレーティング システムのコマンド ライン パーサーによって完全に処理されてからプログラムの argv 配列に渡されます。 二重引用符で囲まれた文字列 ("string") は、空白を含む場合でも、単一の引数と見なされます。二重

  • 1