Tech-Ezo (Hokkaido PC and Network Users Group)
 Top Page  |  What's Tech-Ezo  |  Next Seminar  |  Seminar Log  |  Seminar Plan  |  Tips  |  life  |  Link  |
Scr.002 逆引きWSH(VBScript)サンプル集 − ファイル操作編(016〜027)
[WSHサンプル集へ戻る]

ファイル操作編(016〜027)


WSH.016 ファイルのコピー 戻る

「c:\work\test.xls」というファイルを「c:\temp1\」フォルダ内にコピーする

Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "c:\work\test.xls", "c:\temp1\"

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFile("c:\work\test.xls")
fso.Copy "c:\temp1\"


WSH.017 ファイルの移動 戻る

「c:\work\test.xls」というファイルを「c:\temp1\」フォルダ内に移動する

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFile("c:\work\test.xls")
fso.Move "c:\temp1\"


WSH.018 ファイルの削除 戻る

「c:\work\test.xls」というファイルを削除する

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFile("c:\work\test.xls")
fso.Delete


WSH.019 ファイルの名前変更 戻る

「c:\work\test.xls」というファイルを「test2.xls」という名前に変更する

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFile("c:\work\test.xls")
src.Name "test2.xls"


WSH.020 フォルダのコピー 戻る

「c:\test1\」フォルダを「c:\test2\」フォルダの中にコピーする

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFolder("c:\test1\")
src.Copy "c:\test2\"
※他の移動、削除、名前変更などの操作はファイルの操作と同様となる。


WSH.021 フォルダの作成 戻る

「c:\test3\」フォルダを作成する

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.CreateFolder("G:\test3\")
※他の移動、削除、名前変更などの操作はファイルの操作と同様となる。


WSH.022 フォルダの削除 戻る

「c:\work\testdir\」フォルダを削除する

Set fso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFolder("c:\work\testdir")


WSH.023 ファイル/フォルダの存在チェック 戻る

「c:\test3\」フォルダが存在しているかチェックする

Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists("C:\test3\")) Then
    WScript.Echo "あるよん"
Else
    WScript.Echo "ないよん"
End If

「c:\test3\」フォルダ内の「TechEzo.txt」が存在しているかチェックする

Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("C:\test3\TechEzo.txt")) Then
    WScript.Echo "あるよん"
Else
    WScript.Echo "ないよん"
End If


WSH.024 ファイルのサイズや作成日を調査する 戻る

「C:\TechEzo\Round23.txt」のファイルサイズ、作成日を表示する

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.Getfile("C:\TechEzo\Round23.txt")
WScript.Echo src.DateCreated
WScript.Echo src.Size

そのほかの情報

プロパティ 意味 上記の例で表示させた結果
src.Attributes ファイルの属性の設定、値の取得
※詳細はヘルプを参照のこと
32
src.DateCreated ファイルの作成日時を返す。変更はできない 2003/06/18 14:04:36
src.DateLastAccessed ファイルが最後にアクセスされたときの日付を返す。変更はできない 2003/06/18
src.DateLastModified ファイルが最後に変更されたときの日時を返す。変更はできない 2003/06/18 14:04:38
src.Drive ファイルが格納されているドライブ名 C:
src.Name ファイル名を返す。変更も可能 Round23.txt
src.ParentFolder ファイルが格納されているフォルダ名。変更はできない C:\TechEzo
src.Path ファイルのパスを返す。 C:\TechEzo\Round23.txt
src.ShortName 従来の8.3形式のファイル名を返す Round23.txt
src.ShortPath 従来の8.3形式のフォルダ名を返す C:\TechEzo\Round23.txt
src.Size ファイルのサイズ(バイト)を返す 10
src.Type ファイルの種類(拡張子から判定)を返す テキスト ドキュメント

FileSystemObjectには他にもパスから文字列を抜き出す処理が用意されている

プロパティ 意味
fso.GetAbsolutePathName(パス) 完全なパスの取得
fso.GetDriveName(パス) ドライブ名の取得
fso.GetExtensionName(パス) 拡張子の取得
fso.GetBaseName(パス) パスの最後のファイル名の取得(拡張子を除く)


WSH.025 ディスクの空き容量を調べる 戻る

Cドライブの空き容量を表示する

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetDrive("C:")
WScript.Echo src.FreeSpace

そのほかの情報

プロパティ 意味 上記の例で表示させた結果
src.TotalSize ドライブの総容量(バイト) 5365809152
src.FreeSpace ドライブの空き容量(バイト) 4030283776
src.AvailableSpace ドライブの利用可能な空き容量(バイト) 4030283776
src.DriveLetter ドライブ名 C
src.FileSystem ファイルシステムの種類(FAT,NTFSなど) FAT32
src.DriveType ドライブの種類
0:不明
1:リムーバブルディスク
2:ハードディスク
3:ネットワークドライブ
4:CD-ROM
5:RAMディスク
2
src.IsReady ドライブが準備できているか?
※次の「25. FDやCD-ROMが入っているか調べる」を参照
-1
src.ShareName ドットワークドライブの共有名  
src.VolumeName ボリューム名  


WSH.026 FDやCD-ROMが入っているか調べる 戻る

CD-ROMドライブにCD-ROMが入っているか調べ結果を表示する

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetDrive("H:")    ' CD-ROMドライブがHの場合
If src.IsReady Then
    WScript.Echo "準備おっけー"
Else
    WScript.Echo "入ってないよぉ"
End If
・ 上記はCD-ROMのパターンですが、他のリムーバブルディスクも同様となります。


WSH.027 テキストファイルの読み込み 戻る

「C:\TechEzo\Round23.txt」というファイルを開き1行づつ全ての行を表示する

Set fso = CreateObject("Scripting.FileSystemObject")
Set tmpFile = fso.OpenFile("C:\TechEzo\Round23.txt")
Do Until tmpFile.AtEndOfStream
    tmpLine = tmpFile.ReadLine
    WScript.Echo tmpLine
Loop


WSH.028テキストファイルへの書き込み 戻る

「C:\TechEzo\Round23.txt」というファイルを作成しテキストを1行書き込む

Set fso = CreateObject("Scripting.FileSystemObject")
Set tmpFile = fso.CreateTextFile("C:\TechEzo\Round23.txt")
tmpFile.WriteLine("これからレジメ作成さっ、とほほ")
tmpFile.close
Set tmpFile = Nothing
Set fso = Nothing

既存の「C:\TechEzo\Round23.txt」というファイルを開きテキストを1行追記する

Set fso = CreateObject("Scripting.FileSystemObject")
Set tmpFile = fso.GetFile("C:\TechEzo\Round23.txt")
Set f = tmpFile.OpenAsTextStream(8, -2)
f.Write("どんな講習にしようかな?")
f.close
Set f = Nothing
Set tmpFile = Nothing
Set fso = Nothing

[WSHサンプル集へ戻る]

-
※全ては自己責任でお願いします。 最終更新日 2004.3.9