タグ

Tipsとdosに関するsyqueのブックマーク (3)

  • 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") は、空白を含む場合でも、単一の引数と見なされます。二重

  • カレントディレクトリをバッチファイルのディレクトリにする - 強火で進め

    %0 にバッチファイル自身のファイルパスが格納されているため以下の様に記述し、ドライブの変更、ディレクトリの変更を行う。 %~d0 cd %~d0%~p0追記: id:nanmo さんよりコメント欄にてもっと短い方法を教えて貰いました。 cd /d %~dp0cd で /d のオプションを指定すると通常、ディレクトリの変更だけでドライブの変更は行ってくれない cd コマンドでドライブの変更も同時に行うようになります。 たとえば現在、Dドライブの d:\test にいて Cドライブの c:\test2 に移動したい様なドライブが異なる場所への移動も以下の1行を実行するだけでOKです。 cd /d c:\test2ちなみにコマンドのヘルプはコマンドプロンプト上で「help (コマンド)」とタイプすると確認できます。cd について知りたい場合は help cd で確認できます。 %~dp0 は

    カレントディレクトリをバッチファイルのディレクトリにする - 強火で進め
    syque
    syque 2011/08/10
    %~dp0 は %~d0 (ドライブ名)と %~p0 (パス名)を組み合わせた記述方法の様です。 dpだけでなく %~ と 0 の間に色々な組み合わせを指定可能な様です。 「ドライブ名、パス名、ファイル名」の組み合わせで取得したい場合は以下のよ
  • 1