スクリプト解説

前提

1.PCとプログラミングの初歩としてのざっくり用語解説

私の前科一犯を確認していれば、ここは飛ばしてもOKです。


なお、死ぬほどざっくり&前科一犯からの丸コピなので今回は使わない概念も入ってる。


PC編----------------------


・ディレクトリ/フォルダ

 ぶっちゃけ同じ。ファイルの入れ物。Windowsだと基本フォルダ呼び。


・パス

 どのドライブにあるどのフォルダの中のどのフォルダの中のどのファイルかを示す文字列。

 早い話がファイルの住所。相対パスと絶対パスが存在するが、Windows上でスクリプトやらコマンドやらを使わない限りは相対パスはほとんど意識しないはず。

 絶対パスはファイルの住所全体。この場合の文字列はフルパスとも。Windowsでは「ドライブ名:ディレクトリ名¥ファイル名」になる(「ディレクトリ名¥」はディレクトリ分繰り返す)

 相対パスは現在のディレクトリから指定のファイルへの相対的なパスを指す。別に今回重要ではない(使うのがフルパスのため)ので割愛。


・正規表現

 書き方の規則を表現する文字列。たとえば「[0-9]」という文字列で「0〜9の数字一桁」(「[])は(その内の文字列のどれかに合致」、「0-9」は「-で繋ぐことで文字コード表の任意の文字から文字まで」)を表せるし、「[0-9]+」で「0〜9の一桁以上の繰り返し」(「+」で「直前の正規表現の1回以上の繰り返し」)を表せる。使いこなせると便利(サクラエディタの正規表現置換多用者)だが、よく間違える。


・Powershell

 Windows7だか8だかから実装されたコマンドプロンプトの上位互換。実際できることの幅とわかりやすさがコマンドプロンプトと比較するとパない。

 コマンドによってはLinuxのコマンドライクな書き方でも通用する(削除をrmでも書ける)ので、普通のシェル使いはそっちの書き方でもいいのかもしれない(わかる人だけわかればいい話)


・コマンドプロンプト

 普段使う、画面でドラッグ&ドロップなどで視覚優位の感覚的に操作する「GUI=グラフィカルユーザインターフェース」に対して、PCに「コマンド=指定された処理を表す語句とそれに引き渡す情報の文字列」を発行して操作する「CUI=コマンド(またはキャラクタ)ユーザインターフェース」のWindows標準版。

 使いこなせるといろいろ自動処理にできるが、正直読みにくいし、場合によっては書くのがめんどい(特にコメントの仕様)

 拡張子「.bat」のファイルはこのコマンドプロンプトのコマンドを使ってプログラミングしたものである。




プログラミング編----------------------

・プログラミング言語

 PCに何かしらの処理を行わせる=プログラムを記述するための言語。様々な種類があり、それ毎に動作環境、文法が異なるため、その環境・時々によって適切な言語で組む必要がある。ただし基本の考え方は変わらない。今回はPowershell。


・変数

 一時的に値を格納する領域。処理に使用する情報、あるいは処理結果の情報をつっこんで保管する箱みたいなもの。今回は実質コマンド実行の繰り返しなだけなので、プライベートだのグローバルだのの解説は割愛。


・配列

 変数の中に複数の仕切りがある、複数の部屋を持つ箱。通常、0から番号が振られる。長屋とか列車とか想像するとわかりやすいかも。

 配列を入れ子(一つの配列の部屋に配列を突っ込む)にして多重配列を作ることもあるけど、今回はしない。


・ループ/繰り返し処理

 同じ処理を繰り返す必要がある場合に使用する。「条件を満たすまでの繰り返し」、「条件を満たしている間のみ繰り返し」、「指定回数になるまで繰り返し」などがある。今回のPowershellしかり、新しめの言語では「引き渡された配列分の繰り返し」がある場合も。


・if文/条件分岐

 任意の条件が「真=条件を満たしている」時と「偽=条件を満たしていない」時の処理を書き分けられる初歩的な構文。大体の言語で真の処理だけ必要な場合は偽の処理は省略できる。


・ネスト

 ループの範囲やif文の条件に当てはまった時の処理など。通常、タブや半角スペースで1つ字下げ(インデント)する。なお、全角スペースは基本エラーになるので禁忌。

 あのスクリプトもタブでインデントは入れてたんだけど、カクヨムさんの仕様上雲散霧消した。


・オブジェクト

 オブジェクト(概念の説明が難しい)。どういうオブジェクトかによって構成要素は様々。今回の処理では取得したファイル情報のオブジェクトを使用するが、これには一つのファイルオブジェクトの入った変数に「ファイル名」、「ファイルフルパス」、「更新日時」、「サイズ」などの情報が入っている。


・関数/ファンクション/メソッド

 ファンクションは戻り値があるかどうかで判別されるというのがあるにせよ、基本的には同じもの。

 繰り返し行う処理とかを別のところで先に作っといて必要な時に好きに呼び出すもの。自分で作る場合とその言語上に存在しているものがある。

 イメージしやすく言うなら、下請けの作業員さんや工場みたいなもんである。

 処理によっては呼び出す時に材料や情報を渡したり(これを引数ひきすうと呼ぶ)、関数が処理した結果を返してきたりする(これを戻り値と呼ぶ)。


・コメント

 プログラミング言語として実行されないように設定された文字列。

 作成した処理の注記や説明を書いたり、デバッグ時に一時的に処理を通さないようにしたりする。


・デバッグ

 バクつぶし。正常な結果になるか確認しながら修正すること。基本的に「書いたことが実行される」のがプログラミングなので、結果がおかしかったりエラーが吐かれた場合、結果から処理過程を逆算しながらどこがおかしいか探すことになる。たまに単純な文法ミスでクソみたいにハマる(幾度となくある実体験)

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る