• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MSDOSバッチファイル変数 %~ 0に関する質問)

MSDOSバッチファイル変数 %~ 0に関する質問

このQ&Aのポイント
  • MSDOSバッチファイルの中で参照する「%~...0」の記述についての質問です。
  • 具体的には、「バッチファイル自身をフルパスで展開する変数 : %~f0」という記述についての疑問があります。
  • (質問1) 「param_check.bat」のコードの「echo a: %~a0」の部分について、属性の割り当てについて疑問があります。また、(質問2) 「param_check.bat」のコードの「echo 検索: %~$THIS:0」の部分について、どの部分が検索に関係しているのか疑問があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • UY-Scuti
  • ベストアンサー率85% (17/20)
回答No.1

(質問1) 引数を相対パスのファイル名と見なし、そのファイルの属性の文字列表現に変換して展開します。属性の文字列表現は「drahscotl」または「drahscotlvx」([Windows 8.1?以降])となり、 d=ディレクトリ r=読み取り専用 a=アーカイブ可能(アーカイブ属性) h=隠しファイル s=システムファイル c=圧縮されたコンテンツ o=オフラインファイル t=一時ファイル l=シンボリックリンクまたはジャンクションまたは再解析ポイント(リパースポイント) v=整合性ストリーム(整合性属性) ([Windows 8.1?以降]) x=スクラブ処理対象外 ([Windows 8.1?以降]) を表しています。それぞれの属性に当てはまらない場合は該当箇所が「-」になります。なお、ファイルが見つからない場合は空の文字列に展開されます。 ※ 整合性ストリーム「v」についてはReFSファイルシステムで利用されるファイル属性です。 以下リンクの %~a1 のところ。 https://www.pg-fl.jp/program/dos/doscmd/str_percent.htm これも参考になるかな? https://atmarkit.itmedia.co.jp/ait/articles/1409/26/news133.html c の 圧縮は、属性の「詳細設定」の「内容を圧縮してディスク領域を節約する」・・・とか。 (質問2) 書いてある通りです。環境変数 %path% の中で検索してヒットすれば表示する。 使い道としては、そのバッチファイルがパスが通っているか確認する・・・ぐらいでしょうか・・・?

yam2012
質問者

お礼

UY-Scutiさん 教えて頂いたリンク先の情報もとても参考になりました。 とても分かりやすい説明をしてくださいまして ありがとうございました。

その他の回答 (1)

  • UY-Scuti
  • ベストアンサー率85% (17/20)
回答No.2

%~$THIS:0 なら意味は無い。 バッチファイルがある場所なのだから存在するのは当たり前。

yam2012
質問者

お礼

UY-Scutiさん 回答ありがとうございました。

関連するQ&A