【手動設定とおさらば】バッチファイルと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コマンドにおける引数について解説した。今回はバッチファイル実行時に、そのバッチファイルで使用するために任意の区切り文字で区別される付属の値=引数を利用して、バッチファイルをもっと省略する方法について書いていく。

【解析不能化】cipher.exeでデータほぼ完全削除!ストレージ廃棄の必須事項解説

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

  • 流通量増加で頻繁に交換されるようになったHDD/SSD
  • 古いものはデータ削除し捨てるか売る
  • 通常の方法でも十分だがやや不安が残る
  • データ削除はWindows標準の”cipher.exe”で削除が可能
  • cipher.exe実行時の特定コマンドと実施時の注意事項を記載
  • 削除後に復元テストしても殆どを復元不可能にできる
  • 標準機能だけで安全に、ほぼ完全に消すことが可能

昔の技術が現在になって見直されて、再度表舞台に姿を現すことがたまにある。その例として磁気テープやアナログレコードがある。磁気テープは現在LTO(Linear Tape-Open)として現在も容量・圧縮・耐久性向上などの全般研究がされており、アーカイブやビッグデータに使用される。アナログレコードはデジタル音源より音質が「生」であることから再び注目されるようになり、レコードの再生機材であるターンテーブルも再生産されるようになった。

そんな変化があっても、PCで使用されるストレージ、一般にディスクの事情はほぼ不変である。エンタープライズ仕様はともかく、一般ユーザー用のディスクは容量も耐久性も価格相応のものとなっており、数年したら容量や耐久性の向上した次世代のディスクに切り替えるということは多い。その際古いディスクはフォーマットを行い、廃棄または売却をする。もっとも、殆どは売却して金にすることが多いようだ。

しかし廃棄するにしても売却するにしても、データ削除の方法が適当な場合は、個人情報ないし機密流出の危険に繋がる。というのも、多くは「フォーマット」して削除することであろうが、クイックフォーマットではただインデックス削除を行うだけでデータそのものは残っている。したがって削除も行う場合、通常のフォーマットが選択される。これくらいのことは例え素人でもできて当然である。だが、適切な処理をせずディスクを廃棄した例が企業や自治体レベルで存在し、組織レベルでやらかすのは、はっきり言って異常である。個人レベルでも危険であるというのに、だ。

そこで今回は誰でも、少しのcmd知識と大幅な時間でできる、ストレージのデータの安全な削除について書いていく。ネット上の情報では、どうもフリーソフトないし有料ソフトへの誘導が見られるため、なんか気分が悪かった。そのためここでは誘導なし、ソフトのダウンロードなし、Windows標準機能だけでできることとして、気分が悪くなることがないように書いている。

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