コマンドプロント

アホな俺は全部は物を覚えないのである意味知りえた事の覚書

COLOR [属性]

コンソールの既定の前景色および背景色を設定します。
 属性        コンソール出力の色属性を指定します。

色属性は、2 桁の 16 進数で指定します。1 桁目は背景に、2 桁目
は前景に対応します。各桁には、次のいずれかの値を指定すること
ができます:

   0 = 黒          8 = 灰色
   1 = 青          9 = 明るい青
   2 = 緑          A = 明るい緑
   3 = 水色        B = 明るい水色
   4 = 赤          C = 明るい赤
   5 = 紫          D = 明るい紫
   6 = 黄色        E = 明るい黄色
   7 = 白          F = 輝く白

引数を指定しないでこのコマンドを実行すると、CMD.EXE が起動されたときの
色を復元します。この値は、現在のコンソール ウィンドウ、/T コマンド
ライン スイッチ、またはレジストリの DefaultColor 値から取得されます。

D&Dしたファイルのファイル名(フルパス名)は、バッチファイル内では、バッチファイルに渡されるパラメータとして、%1に格納されています。

また、バッチファイル自身のフルパス名は、%0に格納されています。

で、%0から、パス名やファイル名だけを取り出すには、パラメータ修飾子を使用します。(下記の括弧内は、ファイル名が"C:\Documents and Settings\user\デスクトップ\test.bat"の時の例)

%0  :パラメータ全体("C:\Documents and Settings\user\デスクトップ\test.bat"⇒パス名にスペースが含まれているので、引用符(")が付く)
%~d0 :%0からドライブ名だけを取り出す。(C:)
%~p0 :%0からパス名だけを取り出す。(\Documents and Settings\user\デスクトップ\⇒両端に"\"が付く)
%~n0 :%0からファイル名だけを取り出す。(test)
%~x0 :%0からファイル拡張子だけを取り出す。(.bat)
%~s0 :%0をMS-DOSの8.3形式の短いファイル名を取り出す。(C:\DOCUME~1\USER\デスク~1\TEST.BAT)
(複数の修飾子を組み合わせることも可能)

なので、"test.bat"のパス名は、"%~dp0"で取り出せます。

cd %~dp0  (または、cd "%~dp0"←パス名にスペースが含まれる時)

%~z1 siZe 指定されたものをファイルとみたてて、そのサイズを取得します。ディレクトリを指定すると 0 が返ってくるようです。他の細かい振る舞いは %~a のときと同じでした。

%~t1 Time 指定されたものをファイルまたはフォルダとみたてて、その日付を取得します。細かい振る舞いは %~a のときと同じでした。
%~x1 eXtension ファイル名の、拡張子の部分を取得します。拡張子の指定がない場合は空文字が取得されます。なお、取得される拡張子名の先頭には "." が含まれます。

ある環境変数の先頭から10文字を取り出すには、次のように記述することが出来ます。

%環境変数名:~取り出す位置(先頭が0),取り出す文字数%

set string=abcdefghijklmn
set str=%string:~0,10%

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年07月02日 21:39
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。