フォロトップ:この会議室が所属するフォロのトップページへ移動します 会議室トップ:この会議室のトップページへ移動します トピック一覧:この会議室内のトピックを一覧表示します おすすめレビュー:この会議室に関連付けられたレビューを一覧表示します 発言者一覧:この会議室に発言したことのあるメンバーを一覧表示します 会議室に参加:この会議室への参加登録が出来ます
文字サイズ変更: [] [] []
お目当てのフォロへGO! 
オフィシャル
エンタメ
スポーツ
文化・趣味
コンピュータ
くらしと健康
芸術・学問
ビズと社会
地域・年代
ノンジャンル


2008年12月01日
20:24
【106】  call文とset文で環境変数に値セットする際、%を2つ重ねるに構文ついて
本日入会しました。よろしくお願いします。

私は「【104】setにて初歩的質問ですが教えてください」の質問者ではありませんが、じゃく様のご回答について質問します。

じゃく様のご回答
----
set n=2
set txt2=123456
call set txt1=%%txt2:~%n%,2%%
----
において、何故このようにすると期待通りに動くのでしょうか?
call文とset文で環境変数に値セットする際、%を前後に2つ重ねるのはどういった構文なのでしょうか?

# %%FOO:~m,n% という部分文字列取得については十分に理解しているつもりです。
# 純粋な興味からくる質問ですので、時間に余裕のある際にお答えをいただけると幸いです。
# OS: Windows 2000
コメント
2008年12月02日
17:24
ドキュメントには無いので、実験的に調べた結果では、おおむね
  call なんたらかたら

  echo なんたらかたら > tmp.bat
  call tmp.bat
と同じと考えるとわかりやすいと思います。ただ、微妙に異なりますが。
昔書いたページです。
http://it-is-it.net/CMD/%A5%B3%A5%DE%A5%F3%A5%C9%CA%CC/call/
2008年12月02日
19:45
otn 様

ひとまず理解できました。ありがとうございます。
リンク先も読みました。
すべて表示 1番~2番を表示
 コメントするにはfolomyへの会員登録ならびにログインが必要です。 folomyに入会する
ログインする(すでに登録済みの方)
----