ほぼ、この扱いに関する説明は、コマンドプロンプトで for /? と入力すると表示されるものと同じですまた、FOR 変数参照の置換も拡張されました。 次のオプション構文を使うことができます: %~I - すべての引用句 (") を削除して、%I を展開します。 %~fI - %I を完全修飾パス名に展開します。 %~dI - %I をドライブ文字だけに展開します。 %~pI - %I をパス名だけに展開します。 %~nI - %I をファイル名だけに展開します。 %~xI - %I をファイル拡張子だけに展開します。 %~sI - 展開されたパスは短い名前だけを含みます。 %~aI - %I をファイルの属性に展開します。 %~tI - %I ファイルの日付/時刻に展開します。 %~zI - %I ファイルのサイズに展開します。 %~$PATH:I - PATH 環境変数に指定されているディレクトリを 検索し、最初に見つかった完全修飾名に %I を 展開します。 環境変数名が定義されていない場合、または検索 してもファイルが見つからなかった場合は、この 修飾子を指定すると空の文字列に展開されます。この中で I が for における変数の番号になりますが、バッチファイルでは、 0 が実行中のファイルで、1以降が引数の番号です。その内容を実際に実行する為に二つのバッチファイルを用意しました bat-params1.bat
@echo off call bat-params2.bat php.exe cmd.exe "C:\Program Files" pause
bat-params1.bat
@echo off echo %~0 echo %~f0 echo %~d0 echo %~p0 echo %~n0 echo %~x0 echo %~s0 echo %~a0 echo %~t0 echo %~z0 echo %~$PATH:1 echo %~$PATH:2 echo %3 echo %~3 REM - すべての引用句 (") を削除して、%I を展開します。 REM - %I を完全修飾パス名に展開します。 REM - %I をドライブ文字だけに展開します。 REM - %I をパス名だけに展開します。 REM - %I をファイル名だけに展開します。 REM - %I をファイル拡張子だけに展開します。 REM - 展開されたパスは短い名前だけを含みます。 REM - %I をファイルの属性に展開します。 REM - %I ファイルの日付/時刻に展開します。 REM - %I ファイルのサイズに展開します。 REM - PATH 環境変数に指定されているディレクトリを REM - 検索し、最初に見つかった完全修飾名に %I を REM - 展開します。 REM - 環境変数名が定義されていない場合、または検索 REM - してもファイルが見つからなかった場合は、この REM - 修飾子を指定すると空の文字列に展開されます。
実行結果は以下のようになりますC:\Users\sworc\Downloads\create_name>bat-params1.bat bat-params2.bat C:\Users\sworc\Downloads\create_name\bat-params2.bat C: \Users\sworc\Downloads\create_name\ bat-params2 .bat C:\Users\sworc\DOWNLO~1\CREATE~1\BAT-PA~2.BAT --a-------- 2020/02/02 15:55 1011 C:\php\php.exe C:\Windows\System32\cmd.exe "C:\Program Files" C:\Program Files 続行するには何かキーを押してください . . . C:\Users\sworc\Downloads\create_name>このページの PDF
|
【コマンド : バッチファイルの最新記事】
- バッチファイル(コマンドプロンプト)で使用できる特殊な3つの環境変数
- バッチファイル内で、コマンドプロンプトが管理者権限で実行されているかのチェック
- デスクトップのアイコン表示を切り替えるバッチファイル
- バッチファイルで、二つのファイルが同じファイルかどうかチェックして if errorlevel で処理を分岐する
- バッチファイル内の Call コマンドによるサブルーチンの呼び出し( errorlevel を戻して if で判断する )
- あらかじめ指定しておいたフォルダの中を探して Excel のドキュメントを開くバッチファイル
- バッチファイル自身をフルパスで展開する変数 : %~f0
- バッチファイル : ファイル順のシャッフル
- コマンドプロンプト : 指定回数だけループ処理を行うバッチファイル
- SET /P : バッチファイルで入力した値を環境変数に設定して使用する
- バッチファイル : コマンドプロンプトの表示幅の変更
- バッチファイル : VS9.0のMicrosoft純正バッチ処理 : For /F : バッチファイルでレジストリの値を判断材料にする
- コマンドプロンプト : バッチファイルで使う for コマンドの変数展開のテスト( vtest.bat )
- バッチファイルで、FOR に渡すパラメータの妥当性チェックを行う
- バッチファイルで、ファイルの中の行を指定してその行の文字列を実行する