64歳パソコン教師の日記 NO.795 (2002.5.02)


 今日はお仕事の方も明日から4連休ですね。ご家族で行楽に行かれる方も多いことでしょう。私は依頼されたホームページの作成をしなければならないので連休とは無縁です。

 昨日はヘミングメイトの「えびふりゃーさん」が撮った東京オフ会のビデオをアップしました。動きがあり音声が入っている映像は楽しいですね。私の声を初めて聞いたというメールが沢山届きました。

 「Windows Scripting Host (WSH)」は「Windows 98」から搭載された機能の一つです。「Windows 95/NT4.0」の場合は下記のサイトからダウンロードできます。

 http://www.microsoft.com/japan/msdn/scripting/default.asp

 今日はこの「WSH」を使って、 指定したフォルダ内のファイルをコピーするスクリプトを作ってみましょう。と言っても点線内のスクリプトをコピーして、メモ帳に貼り付けるだけですから簡単です。

 メモ帳に貼り付けたら、6行目の「C:\My documents\My Pictures\」を保存するファイルのフォルダのフルパスに書き換え、7行目の「D:\backup\My Pictures\」を保存先フォルダのフルパスに書き換えます。 保存先をフロッピーディスクにする場合は「A:\」とします。

 「ファイル」→「名前を付けて保存」とクリック、→「ファイルの種類」を「すべてのファイル」、→「ファイル名」を「copy.vbs」のように拡張子「.vbs」を付け、→「保存」ボタンをクリックします。

 保存された「copy.vbs」をダブルクリックすると、「C:\My documents\My Picturesフォルダのファイルをコピーします。」と表示されます。「はい」ボタンをクリックすると 「D:\backup\My Pictures」フォルダにコピーされ、XX件のファイルをコピーしました。」と表示されます。

 ウィルス対策ソフトが有効になっている場合は「悪質なスクリプトを検出しました」と警告が表示されますが、実行しても問題ありません。ウィルスはこのような「VBスクリプト」で作られているものが多いからです。

 このスクリプトを修正する場合は「copy.vbs」右クリック、→「編集」をクリックするとメモ帳が表示されます。修正が済んだら「ファイル」→「上書き保存」とクリックします。

--------------------------------------------------------------------
Option Explicit
dim CopyFrom,CopyTo,Hyouji
dim FileCount
dim ObjFile,FileSys,WshShell,FolderFrom

CopyFrom = "C:\My documents\My Pictures\"
CopyTo = "D:\backup\My Pictures\"

Set FileSys =_
CreateObject("Scripting.FileSystemObject")
Set FolderFrom = FileSys.GetFolder(CopyFrom)
Set WshShell = CreateObject("Wscript.Shell")
FileCount = 0

Hyouji = MsgBox(FolderFrom.Path&"フォルダのファイルをコピーします。",vbOK+vbInformation)

If Hyouji = vbOk Then
For Each ObjFile In FolderFrom.Files
FileSys.CopyFile ObjFile,CopyTo
FileCount = FileCount + 1
Next

MsgBox FileCount &"件のファイルをコピーしました。 ",vbOKonly+vbInformation
End If
--------------------------------------------------------------------