Windows の コマンド プロンプト
- Microsoft
- TechNet ライブラリ / Windows / Windows Server / Windows Server 2008 および Windows Server 2008 R2 / Windows Server のコマンド、参考資料、およびツール / コマンド ライン リファレンス
- Windows XP Professional Product Documentation
- @IT / Windows Server Inside / Tech TIPS
- 2015-07-01: バッチ・ファイル中で日付をファイル名に使用する
- 2015-05-08: これだけは覚えておきたいWindowsのコマンドプロンプトの使い方
- MS-DOSバッチファイル
変数直接は出来ないらしいが
CALL で、ラベル付きのサブルーチンに飛ばす際にパラメータとして渡せば、以下の記法で展開できるとの事。
参考:
CALL で、ラベル付きのサブルーチンに飛ばす際にパラメータとして渡せば、以下の記法で展開できるとの事。
- %~[パラメータ修飾子]パラメータ番号
参考:
- PG Kiss / 2009-05-31: UNIXライクなパス操作をwindowsのcmd.exeのバッチファイルのみで実現
- Microsoft / TechNet ライブラリ / Windows / Windows Server / Windows Server 2008 および Windows Server 2008 R2 / Windows Server のコマンド、参考資料、およびツール / コマンド ライン リファレンス / A-Z List / Call
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 としても良い。
若干意図が分かり辛いが CD %~dp0 としても良い。
環境変数には使える情報はなさそう。
cmd を立ち上げると以下のようにプロンプトが表示されるので利用出来そうだが、cmd /c や cmd /k では表示されない。
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 行で書くには長いコマンドを改行して複数行に分割して書きたい場合、行末に ^ で良いらしい。
参考:
1 行で書くには長いコマンドを改行して複数行に分割して書きたい場合、行末に ^ で良いらしい。
参考:
- みちしるべ / 2010-08-10: バッチファイルで長い1行の処理を改行を入れて複数行に分けて書きたい
タグ
コメントをかく