none
条件分岐バッチファイルの作り方 RRS feed

  • 質問

  • お世話になります。

    IT素人ですが、今回ドメインの移行に伴いドメインを移行させるバッチを調べて改良してほしいと言われました。

    教えていただきたいのは、ドメイン名がtest1だったときはtest1.batを実行する。

    そうでない場合はドメイン名が違うため実行できないといった文言を返す文の作り方です。

    大方の枠組みはすでに出来ており、私が任されたのは対象のドメインの場合は実行、そうでない場合は対象のドメインではありませんといった文言を出す文を書いてみてほしいとのことでした。

    調べてみたところ、バッチファイルには条件分岐というものがあるそうで...それを使うのだろうと思っているのですがいかんせんわかりません。

    どなたかよろしくお願いします。

    2019年7月8日 5:07

すべての返信

  • Windows 自動化技術大全の林です。

    ちゃんと試したことはないのですが、
    net config workstation コマンドでドメイン名を取得して以下の方法と組み合わせることで条件分岐できそうです。

    ▼コンピューター名を判定して条件分岐させるバッチファイル【共通編】
    https://automationlabo.com/wat/?p=8537



    2019年7月8日 12:26
  • ありがとうございます。

    教えていただいた記事を元に頑張ってみます!

    分からなければまたお聞きするかもしれませんが、よろしくお願いいたします。

    2019年7月9日 0:31
  • 回答をいただいてから色々試行錯誤した結果枠組みはこのようになりました。

    @echo off

    if  '%USERDOMAIN%' equ 'XXXX' goto :A
    if not '%USERDOMAIN%' equ 'XXXX' goto :B

    :A
    echo.
    echo このドメインはXXXXです。
    echo.
    pause

    :B
    echo.
    echo 該当のドメインは存在しません。
    echo.
    pause

    後はechoの部分を別の枠組みで作った文で書き換えればいいというところまでこれました。

    ありがとうございます!

    一つお聞きしたいのですが、環境変数を調べているとワークグループを環境変数で出すことはできないと多くの記事で見ました。

    %USERDOMAIN%でドメインを出せるように簡潔にワークグループを出せるようなコマンドはないでしょうか?

    2019年7月9日 4:34
  • Windows 自動化技術大全の林です。

    あれから少し調べてみたところ、以下のコマンドでドメイン名が抜き出せそうですね。

    systeminfo | findstr ドメイン:

    2019年7月9日 12:18
  • チャブーンです。

    この件ですが、IF文とFor /Fコマンドをうまく使うと、ある程度はできると思います。ただし、「ワークグループ名」に関してですが、ワークグループ名はドメインに参加している場合、「小文字のDNSドメイン名」になってしまうので、NetBIOSドメイン名で何とかしたい、というのは、あまりお奨めしません。

    @echo off
    Setlocal
    
    For /F "usebackq tokens=2 delims==" %%i in (`wmic computersystem get Domain /format:value`) do Set WORKGROUP=%%i
    
    IF %WORKGROUP%==test1.local (
    cmd.exe /c test1.bat
    ) ELSE (
    @echo ワークグループ名は %WORKGROUP% です。
    )


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。


    2019年7月13日 18:21
  • 参考までに、WMIC ComputerSystem Get Domain, PartOfDomain の結果を取得して、PartOfDomain が TRUE なら Domain は AD ドメイン名、FALSE なら Domain はワークグループ名になります。


    2019年7月17日 0:32
  • フォーラムにご投稿くださいましてありがとうございます

      

    皆さんからの答えはお役に立ちますか

    後から検索で回答を探しやすくなるため、チャブーンさん方々の答えを「回答の候補」にしました。なかった場合は回答の候補の設定解除」も設定できます


    ご不明な点がございましたら、お気軽にお問い合わせください

    Fan



    Please remember to mark the replies as an answers if they help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    2019年7月19日 10:07
    モデレータ