1. ホーム
  2. ウィンドウズ

[解決済み】Windowsのバッチファイルにおける%~d0の意味とは?

2022-03-25 14:12:14

質問

以下の変数を定義したバッチファイルを見ています。

set _SCRIPT_DRIVE=%~d0
set _SCRIPT_PATH=%~p0

  • 何をするのか %~d0 または %~p0 という意味ですか?
  • カレントディレクトリ、ドライブ、スクリプトのパラメータなど、よく知られた値のセットはありますか?
  • 他に似たようなショートカットはありますか?

解決方法は?

魔法の変数 % n は、ファイルの起動に使用される引数を含んでいます。 %0 はバットファイル自体へのパスです。 %1 の後の最初の引数です。 %2 は2番目というように。

引数はファイルパスであることが多いので、パスの一部を抽出する構文がいくつか追加されています。 ~d はドライブです。 ~p はパス(ドライブなし)です。 ~n はファイル名です。これらは次のように組み合わせることができます。 ~dp はdrive+pathです。

%~dp0 は、実行中のbatファイルが存在するフォルダであるため、batの中でかなり有用です。

また、ファイルに関する他の種類のメタ情報を取得することもできます。 ~t はタイムスタンプです。 ~z はサイズです。

見る こちら は、すべてのコマンドラインコマンドのリファレンスです。チルダーマジックコードは、以下のページで説明しています。 については .