64歳パソコン教師の日記 NO.895 (2002.8.20)
Windows 98 から登場した機能の一つに「Windows Scripting Host(WSH)」があります。この機能を使って、指定したフォルダ内に保存されているファ
イルの中から、指定した拡張子のファイルを、指定したフォルダにコピーする実行ファイルを作成してみましょう。
Windows 95 の場合は、下記のサイトから「Windows Scripting Host」をダウンロードできます。
http://www.microsoft.com/japan/msdn/scripting/default.asp
- 下記のスクリプトをコピーして、→「メモ帳」に貼り付けます。
- 「ファイル」→「名前を付けて保存」とクリック、→「ファイルの種類」欄を「すべてのファイル」とし、→「保存する場所」を「デスクトップ」、
→「ファイル名」欄に「backup.vbs」と入力、→「保存」ボタンをクリックします。
- デスクトップの「backup.vbs」アイコンをダブルクリックするとダイアログが表示されます。 「コピー元フォルダ」の入力欄には「C:\」と入力さ
れています。変更する場合は「Delete」キーを押して削除、→フォルダのパスを入力、→「OK」ボタンをクリックします。
■ウイルス対策ソフトをインストールされている場合は、「backup.vbs」を最初にダブルクリックした時に「警告」が表示されますが、「このス
クリプトを認証する」を選択します。(Norton AntiVirus の場合)
- 「コピーするファイルの拡張子」→「コピー先フォルダ」ダイアログも同じ要領です。
- Dドライブに「BACKUP」フォルダが作成され、その中にCドライブの拡張子「doc」ファイルがすべてコピーされます。
- コピー元フォルダ、コピーするファイルの拡張子、コピー先フォルダを変更する場合は、デスクトップの「backup.vbs」アイコンを右クリック、→
「アプリケーション(プログラム)から開く」をクリック、→「Notepad」を選択、→スクリプトの1、3、5行目の「C:\」「doc」「D:\BACKUP」
を修正、→「ファイル」→「上書き保存」とクリックします。
--------------------------------------------------------------------
myFolder = InputBox("コピー元フォルダ",,"C:\")
If myFolder = " " Then WScript.Quit
myExt = InputBox("コピーするファイルの拡張子",,"doc")
If myExt = " " Then WScript.Quit
newFolder = InputBox("コピー先フォルダ",,"D:\BACKUP")
If newFolder = " " Then WScript.Quit
Set FS = CreateObject("Scripting.FileSystemObject")
Set objFolder = FS.GetFolder(myFolder)
On Error Resume Next
FS.CreateFolder(newFolder)
intExt = len(myExt)
Call CpFile(objFolder)
Sub CpFile(objFolder)
For Each myFile In objFolder.Files
If Right(myFile.Name, intExt) = myExt Then
FS.CopyFile myFile, newFolder & "\"
End If
Next
For Each objSubFolder In objFolder.SubFolders
Call CpFile(objSubFolder)
Next
End Sub