バッチファイル | Raven's Articles

【手動設定とおさらば】バッチファイルとnetsh:簡単にIPとDNSを変える

この記事の概要を簡単まとめ!

  • やりたいことが見つかってバッチファイル作成第5回
  • IPアドレス(IPv4)やDNSサーバーは設定と編集が可能
  • しかし編集するまでの画面を開く手順、編集方法は面倒である
  • cmdから編集するにはSystem32にあるnetsh.exeを使う
  • netshのオプションを利用することでcmdからでも可能になる
  • バッチファイルにすれば簡単に変更が可能になる
  • これでフリーのDNSサーバーも簡単に変えられる

ネタにするにあたり、事前準備が必要なものがある。プログラミングはその1つであろう。あらかじめ作成したソースコードとその結果を用意し、その上で文章を構成していかなければならないからである。ただ、文章そのものの構成は問題なく、不備無く完全に動くソースコードの開発がむしろ難しいものである。もっとも私は技術者ではないので、完璧なものを作れる保証はない。

さて、バッチファイルも一種のプログラミングと定義することができると思われるが、使いこなせばGUIでは面倒だったことがcmd(CUI)でさくっと完結できるものになる。第5回となる今回はPCを使う上で重要なことでもある「ネットワーク」に関係したものである。その中の最も初歩的かつ重要な事項として、IPアドレスとそれに付随する設定、そしてDNSサーバーについて取り上げる。特にDNSサーバーは公開DNSサーバーを利用する時に変更することが多いであろう。キャリア一般のDNSサーバーより高速でセキュリティの設定やログ保存をしないなどのポリシーの観点から、手動で設定することが多くなっている。

ただ、IPアドレスやDNSサーバーを設定する際のGUIはどうにも使いにくく、そしてそこまで辿り着くのが面倒になっている。Windows 10になって以降は尚更、コントロールパネルではなく設定を呼び出そうとする面倒な改悪が入っているため、面倒が増している。そんな面倒は、netsh.exeを使うことで解決することができるのである。これを使用したバッチファイル作成を書いていく。

【楽しようぜ】引数とバッチファイル:一気に「省略」する方法

この記事の概要を簡単まとめ!

  • 久しぶりのバッチファイル作成記事
  • バッチファイルでは任意の引数を扱える
  • バッチファイル実行時に区切り文字を利用すると引数を渡せる
  • 引数は%[n]や%~[n]で中身を扱うことができる
  • 引数が存在する場合の分岐で一気に省略ができる
  • 引数が存在しない場合=デフォルトの場合の処理も必要になる
  • 面倒なことは使えるものを使ってもっと省略してしまえばいい

あの日バッチファイルを書いた記事は、少数ながら毎日誰かが見ている。バッチファイルで使いたい機能の多くはif-elseの条件分岐のようで、それ以外には基本的なことについて知りたい人が多いようだ。ただし私の目標はpowercfgのバッチファイルを解説することであったため、いきなり説明するよりは前段階として使うコマンドの解説を挟んだ上で解説した方が見る人は多い。とはいえ通常検索でいきなり飛んでくる人が多いため、あまり意味がなかったりする。

さて、バッチファイルを作って色々と面倒なクリック動作を省略するくらいには面倒が嫌いな私KIBEKIN。バッチファイルを作っておけば何かを起動するにもcmd.exeを経由すればたった数文字のタイピングで起動できる。しかし、1つのバッチファイル内で複数の選択肢を用意するようにif-else文などで設計した場合、そのバッチファイルを実行後にもう数回タイピング入力が必要になる。作成した当初は問題ないと思うが、慣れてくるとそれすら省略したいように思うことも決してないわけではない。それくらい面倒くさがるなと言われたらそれまでではあるが、省略したいものはしたいものである。

約1年前となる、全3回に分けたバッチファイル作成記事において、引数について解説したのだが、その時の引数はcallコマンドにおける引数について解説した。今回はバッチファイル実行時に、そのバッチファイルで使用するために任意の区切り文字で区別される付属の値=引数を利用して、バッチファイルをもっと省略する方法について書いていく。

【bat上級編】電源プランを操れ!powercfgとバッチファイル

この記事の概要を簡単まとめ!

  • バッチファイル作成の上級編
  • cmdで電源プランを操作できる”powercfg.exe”
  • これまでの内容と新しいコマンドをフルに活用したバッチファイル
  • サブルーチン化でバッチファイルの可読性も確保
  • 解説で「こういう処理をしている」が分かるようになる
  • 「GUIでやるより簡単」を目指して

バッチファイルシリーズもこれで第3回となる。これまではコマンドの解説と簡単なコマンド使用例を記述し、自分で改造可能なものを最終的な完成品として仕上げていた。しかしこれまでのバッチファイル解説は、初心者が入りやすいよう、難易度が低めのものから行ってきた。したがって、バッチファイル全体としては、難しい機能は殆ど使用していない。

それも、今回取り上げるpowercfg.exeまで抵抗なく入れるようにしたためである。バッチファイルで書きたい本命はこれであり、それまで書いてきたものは、導入のための土台である。とはいえ、これまでやってきたことは決して無意味ということではなく、これまでやってきたことの積み重ねで本命に挑むのである。

その結果、上級編に相応しいまでの難易度になった今回だが、そうであっても何の問題もなく使えるよう、この記事で指南していく。最後まで見ていくといい。

【bat中級編】分岐と選択でまとまるバッチファイルの作成

この記事の概要を簡単まとめ!

  • バッチファイル作成の中級編
  • cmdにも存在するプログラミングでお馴染みのコマンド
  • そのコマンドの注意事項なども解説
  • 解説を交えて実際に作る
  • 1つのバッチファイルで複数の処理から1つを選択できる
  • コマンドの意味を知れば使い方も分かる

前回はバッチファイル入門編として、cmdの設定と、非常に簡単なバッチファイルを作成し、それを実行するところまで行った。とはいえ、バッチファイルに記述したアプリケーションをcmdから呼び出して起動するだけの内容だったため、cmdが有する複雑なコマンドは全く使用していない。とはいえ、startコマンドは少々面倒なものであったが。

cmdは他のプログラミング言語が有する、変数、条件式、(無条件の)ジャンプ文、forループなどを扱うことができる。元々はMS-DOSのコマンドであるため、主流プログラミング言語であるC++やPython系と比較すると、そこまでの機能は有さない。しかし、これらのコマンドの意味と使い方を知れば、自分のPCが扱いやすくなることは確かである。

このシリーズはcmd/バッチファイルが全く分からない初心者が、抵抗なくcmd/バッチファイルを扱えるまでをレクチャーするため、少しずつ紹介することにしている。今回は条件式とジャンプ文、それを使ったバッチファイルを作成し実行することを紹介していく。

【コマンド入力】CMDとバッチファイルでショートカット 入門編

この記事の概要を簡単まとめ!

  • Windowsの標準アプリケーション「コマンド プロンプト」
  • MS-DOSに類似した機能を持つ
  • コマンドを記述したソースファイル「バッチファイル<.bat>」で入力を省略できる
  • 環境変数を設定することで任意のバッチファイルの呼び出しを可能にする
  • 簡単なバッチファイルを作って実際に試してみる
  • 操作を簡略化して楽をしよう

ここ最近、怒りに任せて書いたばかりに、トレンド記事ばかり書いている。これではあまり他のブログとの差異を出せないので、久しぶりにPC関係の話を書くことにする。

今回は、Windows標準アプリケーションの「コマンド プロンプト」(cmd.exe)の話である。以下cmdと省略するが、多くの人はcmdに対し、あまりいい印象を持たない。それは単純にGUIではなくCUIであるから、ということが大きいだろう。WindowsはGUIをベースとした、コマンドを覚えていなくても操作できるOSである。そのため、CUIに触れる機会は極端に少なくなり、コマンドが使えないのが普通になってしまったからである。

しかし、妙に親切なMicrosoftと、それに詳しい人がコマンドの解説、環境変数の設定、バッチファイルの作り方などをネット上にまとめている。ここではそれらの情報と、私自身が設定した環境変数の設定方法、バッチファイルの作り方をまとめたものを、初めて触れる人向けに書いていく。

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検知しました。 | Ad block detected.

ブラウザのアドオン、及びブラウザに内蔵されているアドブロック機能により、広告ブロックが行われていることが検知されました。
本ブログは広告収入により運営されており、広告ブロックは正当な理由の下で配信されている広告をも阻害することとなり、運営が非常に困難になります。
この表示は広告ブロック機能の無効化、あるいはホワイトリストへの追加を行った上で、更新を行うことで消すことができます。または、広告ブロック機能のないブラウザで閲覧ください。
広告で嫌な思いをしたことがあるとは思いますが、一律に広告をブロックすることで失われるコンテンツも存在します。そのことへのご理解とご協力をお願いします。

We have detected that ad-blocking is being performed by browser add-ons and the browser’s built-in ad-blocking function.
This blog is operated by advertising revenue, and ad blocking will interfere with advertisements that are also being served under legitimate reasons, making it very difficult to operate.
This display can be removed by disabling the ad-blocking function or adding it to the white list and then updating it. Alternatively, please view the site with a browser that does not have an ad-blocking function.
We understand that you may have had bad experiences with advertisements, but there are some contents that are lost by uniformly blocking advertisements. We ask for your understanding and cooperation in this matter.

Powered By
100% Free SEO Tools - Tool Kits PRO