ファイルをコピーする例

 下の例では、"C:\work"フォルダ内の、dllファイルをシステムフォルダに にコピーします。dll ファイルがあるかどうかのチェックはしていません ので、"C:\work"内に dll ファイルがないとエラーになります。システムフォ ルダ内に同名のファイルがある場合は、上書きされます。
 余り汎用的なスクリプトではありませんが、dll ファイルのコピーをファイ ラーで行いたい場合、そのファイルをファイラー自身が使用していると、 当然、上書きされません。そこで、このようなスクリプトを使えば、たと えスクリプトをファイラーから起動したとしても、メッセージボックスの [OK]を押す前に、ファイラー等を終了させれば、コピーされます。

***** dllCopy.vbs *****

'////////////////////////////////////////////////////////////////////
'//
'// "C:\work"内のdllファイルをシステムフォルダにコピーする
'//
'//                                                 2004年11月21日 改
Option Explicit
Dim res1, res2
Dim sysPath
Dim objFS, objFolder

res1 = MsgBox(_
    " C:\work 内のdllファイルをシステムフォルダにコピーします。"_
    & vbCR &_
    "(注意)既存のファイルがある場合は、上書きされます。" & vbCR &_
    vbCr & "dll ファイルを使用中のソフトがある場合は終了させてから"_
    & vbCR & "[OK]を押して下さい!",65,_
    "dll ファイルをシステムフォルダにコピー")

If res1 = vbCancel Then
    WScript.Quit            '//「キャンセル」なら終了
End If

'//ファイルシステムオブジェクト
Set objFS = CreateObject("Scripting.FileSystemObject")
'//システムフォルダのパスを取得する
Set objFolder = objFS.GetSpecialFolder(1)
sysPath = objFolder.Path

'//コピー
objFS.CopyFile "C:\work\*.dll", sysPath

res2 = MsgBox("コピーしました。" & vbCR & vbCR &_
    "ワークフォルダ内のdllファイルを削除しますか?",36,"コピー完了")

If res2 = vbYes Then
    objFS.DeleteFile "C:\work\*.dll"
    MsgBox "C:\work 内のdllファイルを削除しました。",,"work 内削除"
End If




戻る