情報技術演習Ⅰ 人文学研究のための情報技術入門

情報技術演習Ⅰ
人文学研究のための情報技術入門
2012/11/15
担当:林晋
TA:秋田慧
2009/10/14
もう課題5が終わった人用の課題
• 前回新しい課題は出さない、希望した人だけ
に出すといいましたが、ほとんどの人がおわ
ったのに希望がないので、お仕着せで課題を
出します。
• ただし、これは成績には関係ない課題です。
2009/10/14
ファイル名変更の「基本」操作(1)
• Windows XP, Vista, 7 などを OS (operating system)と
いいます.OSには様々な機能がありますが,その一
つがファイル・システムとよばれるもので,ファイル
の作成・変更・管理・削除などを行います.ファイル
名の変更やファイルの削除も,このファイル・システ
ムが行う「操作」です.その操作をシステムコールと
いいますが,ユーザーは直接システムコールを使う
ことはできず,アプリや,Windows の Explorer
(Internet Explorer ではありません!)を通して使い
ます.
2009/10/14
ファイル名変更の「基本」操作(2)
• 特に,Explorer は,みなさんが日常もっとも使っているOSの
機能と言えるでしょう.これは,システムコールとみなさん(ユ
ーザー)との間にある,コンピュータシステムの殻のようなも
のなのでシェル(shell)ということがあります.このシェルという
言葉はコンピュータの専門用語になっていて(Wikipedia シェ
ル(殻)), もしかしたら,聞いたことがあるかもしれない,DOS窓
やコマンドプロンプト(1,2)というものは,このシェルの一種
です.
• コマンドプロンプトは CUI のシェル,Explorer は GUI のシェル
といえますが,前者の方が原始的なだけに,ファイル・システ
ムの原初的な機能であるシステムコールにより近い形で使う
ことができます.つまり,より「基本的」操作ができます.
2009/10/14
コマンドプロンプトとコマンドを使ってみる
• コマンドプロンプトから,ファイルの名前を変えてみましょう.それには
move とか rename というコマンドというものを使います.
• C:\folderA と C:\folderB を自分が自由にファイルを作れるフォルダだと
します.(ここは適当に読み替えてください.)
• ここに IMG_001.jpg というファイルをコピーしてきます.
• [スタート]→[プログラム」→[アクセサリ]→[コマンドプロンプト]を選ぶと,
次のようなウィンドウが開きます.これがコマンドプロンプト,別名,DOS
窓です.
2009/10/14
cd C:\folderAと入力します.リターン
キーを押すのを忘れずに!
そうすると,今いる場所が C:\folderA
に変更になります.
そこで,dir/b というコマンドを入力する
と,C:\folderA にあるファイルの名前が
表示されます.
2009/10/14
ではその表示されたファイル名
IMG_0001.jpg を page0001.jpgに
変えてみましょう.そのためには,
rename IMG_0001.jpg page0001.jpg
と入力します.dir/b で確認します.
同様にファイルをコピーするには,
copy コマンドを使います.この例では
コピーする先を C:\folderB にしています.
ファイルを動かすこともできます.動かす
コマンドは move です.ちなみに,
move IMG_0001.jpg page0001.jpg
とすると,
rename IMG_0001.jpg page0001.jpg
と同じく名前を変えることができます.
2009/10/14
コマンドの詳しい説明
•
Windows には,沢山のコマンドがあるので,先に示したリンク「コマンドプロンプト
(1,2)」などを参照して説明を読んでください.
•
ここでは,もう一つだけリダイレクトというコマンドプロンプトの機能をコマンドと一
緒に使う方法を説明しておきます(もちろん,課題をやるときに重要だからです):
課題1のzipファイル http://www.shayashi.jp/s9lnfigsmall.zip を適当なフォルダー
にダウンロードして解凍してください.これはアーカイブファイルと呼ばれる複数の
ファイルを一つにまとめ,また小さく圧縮したファイルです.一つに纏められたもの
を,元に戻すことを解凍といいます.(纏めることは「固める」などといいます.)
全部のファイルが解凍されたら,先ほどの例を真似て,その場所に移動し,
dir/b > list.txt と入力してください.コマンドの実行が終わったら,list.txt というファ
イルができているはずですので,その中を見てください.dir/b とすると,今できた
,list.txt を含め,全てのファイル名が出力されるはずですが,それがすべて list.txt
に格納されていることが分かります.これはコマンドの出力をファイルに入力する
ための機能ですが,沢山あるファイルの名前をテキストに纏めたいときなどに大
変便利です.
•
•
2009/10/14
コマンドを一斉に実行できる
バッチファイル
•
次に複数のコマンドを順番に実行させる「自家製コマンド」を作ってみましょう.
•
先ほどのコマンドプロンプトの説明でコマンドを実行する前の最初の状態にあると
します.そこで,入力したコマンドを,表示関係のコマンド dir は除いて,他を全部
そのまま次のように doit.txt というファイルに書いていきます.
この doit.txt をC:\folderA に置いてイクステンションの txt を bat に書き換えます.
Windows に文句を言われるかもしれませんが,気にせず書き換えましょう.
そうすると,doit.txt のアイコンが変わります.アイコンが変わった doit.bat をアプ
リのようにクリックして「実行」してみてください.何がおきましたか?
Bat file (バッチファイル)は,書いたコマンドを,あたかもコマンドプロンプトに順に
入力して実行したのと同じ働きをする「コマンド」になっているのです.
•
•
•
rename IMG_0001.jpg page0001.jpg
copy page0001.jpg C:\folderB\page0001copy.jpg
move page0001.jpg C:\folderB
2009/10/14
Excel でバッチファイルを作る
• これで大量のファイルを rename する方法が大体分かったかと思います.
しかし,一つ問題があります.100も200も,あるいは 1000 も2000も,テキ
ストファイルにコマンドを書いていくのは大変です.
• こういう時に活躍するのが Excel です.そのやり方は,この動画を見てく
ださい.この動画のようにすると,Book1.txt というファイルができて,その
内容は下のようになります.
• 実はもう一つ問題があり,それも Excel で解決できます.でも,ヒントを書
きすぎたので,これだけはわざと書かないことにします.(^^)
rename
rename
rename
rename
rename
2009/10/14
IMG_0001.jpg
IMG_0002.jpg
IMG_0003.jpg
IMG_0004.jpg
IMG_0005.jpg
page0001.jpg
page0002.jpg
page0003.jpg
page0004.jpg
page0005.jpg
さらに… (1)
• こんなものヘイチャラという人がいそうなので時間を持て余さないように…
• ここまで説明したことは、Windowsでやるとあまりスマートにできません。
• しかし、UNIX, Linux, Mac (OS X 以後)でやるとシェルというものを使って、
格好よくできます。
• また、Windowsでも Cygwin とか、Ruby などを使うと同じことができます。
• こういうものが何なのか調べてみてください。
• また、この部屋でも、これらの一部が使えます。Mac は無理ですけど….
• それも調べましょう。
2009/10/14
さらに… (2)
• ただし、一言助言。
• 課題5で出した規模の仕事は実際の歴史学研究でよく起きます。
• で、ITに詳しい人文学者が陥る間違いが、その程度の規模でも、この「さ
らに…」で説明したような方法でやろうとする人がいることです。
• それができると確かに「格好いい」のですが、実は、それには無駄に時間
がかかるのです。処理時代は短くなりますが、上に書いたシェルとか
Ruby を調べて使えるようにするまでの時間がかかってしまうのです。
• それは人文学の本来の研究とは関係ありません。「さらに…」で書いた方
法が本当に意味をもつのは、千以上の画像を操作するとか、こういう操
作を1週間に1度はやるとか、そういう人にだけ意味があります。
• 格好の良さ、スマートさは、結局は自己満足の世界です。「さらに…」の前
に書いた方法は、それを回避するために、以前は「スマートさ」にこだわっ
てしまう人たちの世界にいた林が考え出した方法です。
2009/10/14