hack のためのネタ帳, etc,,,

Windows の コマンド プロンプト

公式ページ等

Tips

変数直接は出来ないらしいが
CALL で、ラベル付きのサブルーチンに飛ばす際にパラメータとして渡せば、以下の記法で展開できるとの事。
  • %~[パラメータ修飾子]パラメータ番号
サブルーチンからは GOTO :EOF で呼び出し位置に return 出来るみたい。
参考:

実行中のバッチファイルのフルパス及びパス名を得る

CALL :INITSCRIPT %~f0
REM ...
GOTO :EOF

:INITSCRIPT
  SET SCRIPTFULLPATH=%1
  SET SCRIPTPATH=%~dp1
  SET SCRIPTNAME=%~nx1
  SET SCRIPTNAMEBODY=%~n1
  GOTO :EOF
BAT ファイルを右クリックして「管理者として実行」すると %SystemRoot%\system32 以下で実行されちゃうので、上記の処理後 CD %SCRIPTPATH% とかしておくと幸せになれるかも?
若干意図が分かり辛いが CD %~dp0 としても良い。
環境変数には使える情報はなさそう。
cmd を立ち上げると以下のようにプロンプトが表示されるので利用出来そうだが、cmd /c や cmd /k では表示されない。
>cmd
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

>
パイプを使って以下のようにすると既知の環境については検出出来そう。
>ECHO EXIT|CMD|FIND "Windows XP"&&ECHO XP||ECHO not
XP
bash で言うところの行継続(line continuation) \<newline> みたいに
1 行で書くには長いコマンドを改行して複数行に分割して書きたい場合、行末に ^ で良いらしい。
参考:

関連

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます