Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / qiita.com/plcherrim (2)

  • .bat(バッチファイル)のforコマンド解説。 - Qiita

    先日投稿した .bat(バッチファイル)のifコマンド解説。 で予告した通り、forコマンドについても解説を行います。 forコマンドは、たまにバッチファイル中に出てきては見る人を混乱に陥れることで有名です。 ifよりは大分難しいコマンドなので、具体例を多めに取り入れようと思います。 飛ばし読みはしていないという前提で書いてます。可能な限り、最初からお読みください。 #目次 1.forコマンドの基 1.そもそもfor文とは? 2.for文の解剖~ (オプション) ~ 3.for文の解剖~ %%アルファベット1文字 ~ 4.for文の解剖~ in ループ処理の対象 do ~ 2.forコマンドの構文①~ オプション無し…ディレクトリ内を対象にとる ~ 3.forコマンドの構文②~ /d…ディレクトリ名を対象にとる ~ 4.forコマンドの構文③~ /r…サブディレクトリまで対象にとる ~

    .bat(バッチファイル)のforコマンド解説。 - Qiita
    kiyo_hiko
    kiyo_hiko 2022/05/24
    詳しい
  • バッチファイル界の魔境『遅延環境変数』に挑む(おまけもあるよ) - Qiita

    ちなみに、このページ内にあるコード表示は、そのままコピー&ペーストでバッチファイルとして動くようになっています。 実行しても、ええんやで。 さて、話を戻して…。上のコード、実行結果はどうなると思いますか? まず最初はnumが1なので、if文は真になりますね。ここまでは特に大したことはありませんが…。 if文の最初で、numに1を加算しています。つまり、**numの値は2になっているはずです。**次の行で出力しているので2と表示されるはずなのですが…? このコード、出力結果は1になります。 この現象こそが、変数を読み込むタイミングが顕著に影響を及ぼす例です。 通常変数は%記号で囲みますが、この%で囲った変数は、その変数がある行に『入った瞬間』にすべて展開されます。 そして、カッコで囲った複数のコマンドは、その行数に関わらず、1行とみなして変数が展開されます。 つまりこのコード、if文に入った

    バッチファイル界の魔境『遅延環境変数』に挑む(おまけもあるよ) - Qiita
    kiyo_hiko
    kiyo_hiko 2020/03/16
    これは知らないとドツボに嵌りそうだ。有り難し。どこでもPowerShellが使えると洛南だけど
  • 1