ASPでよく使われる22のFSOファイル操作関数が整理されています。
ASPでは、FSOはFile System Objectを意味します。今回、操作するコンピュータのファイルシステムは、Webサーバーの上にあります。そのため、適切なパーミッションが与えられていることを確認してください。簡単にテストできるように、自分のマシンにWebサーバーを立ち上げるのが理想的です。Windowsプラットフォームで動作している場合は、MicrosoftのWebサーバーであるiisを試してみてください。
FSOモデルオブジェクト
ドライブオブジェクト。ドライブオブジェクト ディスクまたはネットワークドライブへのアクセスを提供する
FileSystemObject オブジェクトです。ファイルシステムオブジェクト コンピュータのファイルシステムへのアクセスを提供します。
フォルダーオブジェクト フォルダオブジェクト フォルダのすべてのプロパティへのアクセスを提供します。
TextStreamオブジェクト。TextStream オブジェクト ファイルの内容へのアクセスを提供します。
上記のオブジェクトは、破壊行為を含め、コンピュータの何にでも使うことができます ;-( ですから、FSOの取り扱いには注意してください。ウェブ環境では、ユーザー情報、ログファイルなどの情報を保存することが非常に重要です。FSOはデータを効率的に保存するための強力で簡単な方法を提供します。fsoはマイクロソフトによってサポートされており、Windows以外のシステムでは、おそらくASPはもう使用できません。
1. ファイル操作、ファイルサイズ取得
Function GetFileSize(FileName)
'// Function: Get the size of the file
'//formal parameter: file name
'//return value: file size for success, -1 for failure
'//
Dim f
If ReportFileStatus(FileName) = 1 Then
Set f = fso.Getfile(FileName)
GetFileSize = f.Size
Else
GetFileSize = -1
End if
End Function
2. FSOを使用して指定したファイルを削除する
Function deleteAFile(filespec)
'// Function: File delete
'//formal parameter: file name
'//return value: 1 for success, -1 for failure
'//
If ReportFileStatus(filespec) = 1 Then
fso.deleteFile(filespec)
deleteAFile = 1
Else
deleteAFile = -1
End if
End Function
3.FSOは指定されたディレクトリにあるすべてのファイルを表示します。
Function ShowFileList(folderspec)
'// Function: Show all files in this directory if it exists
'//formal parameter: directory name
'//return value: file list for success, -1 for failure
'//
Dim f, f1, fc, s
If ReportFolderStatus(folderspec) = 1 Then
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
For Each f1 in fc
s = s & f1.name
s = s & "|"
Next
ShowFileList = s
Else
ShowFileList = -1
End if
End Function
4. 指定されたファイルをfsoでコピーする
Function CopyAFile(SourceFile,DestinationFile)
'// Function: Copy the file only when the source file exists, the destination file is not affected.
'//formal parameters: source file, destination file
'//return value: success is 1, failure is -1
'//
Dim MyFile
If ReportFileStatus(SourceFile) = 1 Then
Set MyFile = fso.GetFile(SourceFile)
MyFile.Copy (DestinationFile)
CopyAFile = 1
Else
CopyAFile = -1
End if
End Function
5. 移動元ファイルが存在し、移動先ファイルが存在しない場合のみ、ファイルを移動する
'Response.Write MoveAFile("f:\123\4561.exe","f:\123\4562.txt")
Function MoveAFile(SourceFile,DestinationFile)
'//formal parameter: source file, destination file
'//return value: success is 1, failure is -1
'//
If ReportFileStatus(SourceFile)=1 And
ReportFileStatus(DestinationFileORPath) =-1 Then
fso.MoveFile SourceFile,DestinationFileORPath
MoveAFile = 1
Else
MoveAFile = -1
End if
End Function
6. FSOは指定されたファイルが存在するかどうかを判断する?
Function ReportFileStatus(FileName)
'// Function: Determine if the file exists.
'//formal parameter: file name
'//return value: 1 for success, -1 for failure
'//
Dim msg
msg = -1
If (fso.FileExists(FileName)) Then
msg = 1
Else
msg = -1
End If
ReportFileStatus = msg
End Function
7.FSOがファイル作成日を読み取る
Function ShowDatecreated(filespec)
'// Function: Date the file was created
'//formal parameter: file name
'//return value: success: file creation date, failure: -1
'//
Dim f
If ReportFileStatus(filespec) = 1 Then
Set f = fso.GetFile(filespec)
ShowDatecreated = f.Datecreated
Else
ShowDatecreated = -1
End if
End Function
8. FSOはファイルの読み取りと書き込みの許可属性を表示する
Function GetAttributes(FileName)
'// Function: Show file attributes
'//formal parameter: file name
'//return value: success: file attributes, failure: -1
'//
Dim f,Str
If ReportFileStatus(FileName) = 1 Then
Set f = fso.GetFile(FileName)
select Case f.attributes
Case 0 Str="Normal file. No attributes are set. "
Case 1 Str="Read-only file. Can be read or written. "
Case 2 Str="Hidden file. Read/write. "
Case 4 Str="System file. Read/write. "
Case 16 Str="Folder or directory. Read only. "
Case 32 Str="Files that have changed since the last backup. Read/write. "
Case 1024 Str="Links or shortcuts. Read only. "
Case 2048 Str=" Compressed file. Read only. "
End select
GetAttributes = Str
Else
GetAttributes = -1
End if
End Function
9.FSOは、指定されたファイルの最終アクセス時刻/最終更新時刻を表示します。
'Response.Write ShowFileAccessInfo("file path")
Function ShowFileAccessInfo(FileName,InfoType)
'//Function: show information when the file is created
'// formal parameters: file name, info type
'// 1 ----- creation time
'// 2 ----- last access time
'// 3 ----- last modified time
'// 4 ----- file path
'// 5 ----- file name
'// 6 ----- file type
'// 7 ----- file size
'// 8 ----- parent directory
'// 9 ----- root directory
'// Return value: success is the information when the file is created, failure: -1
'//
Dim f, s
If ReportFileStatus(FileName) = 1 then
Set f = fso.GetFile(FileName)
select Case InfoType
Case 1 s = f.Datecreated '// 1 ----- creation time
Case 2 s = f.DateLastAccessed '// 2 ----- last access time
Case 3 s = f.DateLastModified '// 3 ----- last modified time
Case 4 s = f.Path '// 4 ----- file path
Case 5 s = f.Name '// 5 ----- file name
Case 6 s = f.Type '// 6 ----- file type
Case 7 s = f.Size '// 7----- file size
Case 8 s = f.ParentFolder '// 8 ----- parent directory
Case 9 s = f.RootFolder '// 8 ----- root directory
End select
ShowFileAccessInfo = s
ELse
ShowFileAccessInfo = -1
End if
End Function
10.FSOが指定された内容をテキストファイルに書き込む
Function WriteTxtFile(FileName,TextStr,WriteORAppendType)
Const ForReading = 1, ForWriting = 2 , ForAppending = 8
Dim f, m
select Case WriteORAppendType
Case 1: 'File to be written
Set f = fso.OpenTextFile(FileName, ForWriting, True)
f.Write TextStr
f.Close
If ReportFileStatus(FileName) = 1 then
WriteTxtFile = 1
Else
WriteTxtFile = -1
End if
Case 2: 'Write operation at the end of the file
If ReportFileStatus(FileName) = 1 then
Set f = fso.OpenTextFile(FileName, ForAppending)
f.Write TextStr
f.Close
WriteTxtFile = 1
Else
WriteTxtFile = -1
End if
End select
End Function
11. FSOによるテキストファイルの読み込み
Function ReadTxtFile(FileName)
Const ForReading = 1, ForWriting = 2
Dim f, m
If ReportFileStatus(FileName) = 1 then
Set f = fso.OpenTextFile(FileName, ForReading)
m = f.ReadLine
'm = f.ReadAll
'f.SkipLine
ReadTxtFile = m
f.Close
Else
ReadTxtFile = -1
End if
End Function
12.FSOはフォルダーディレクトリのサイズを返す
Function GetFolderSize(FolderName)
'// Function: Get the size of the directory
'//formal parameter: directory name
'//return value: directory size for success, -1 for failure
'//
Dim f
If ReportFolderStatus(FolderName) = 1 Then
Set f = fso.GetFolder(FolderName)
GetFolderSize = f.Size
Else
GetFolderSize = -1
End if
End Function
13. FSOを使ったフォルダの作成
Function createFolderDemo(FolderName)
'// Function: Folder to be created
'//formal parameter: directory name
'//return value: 1 for success, -1 for failure
'//
Dim f
If ReportFolderStatus(Folderspec) = 1 Then
createFolderDemo = -1
Else
Set f = fso.createFolder(FolderName)
createFolderDemo = 1
End if
End Function
14.FSO指定フォルダディレクトリの削除
Function deleteAFolder(Folderspec)
'//Function: directory delete
'//formal parameter: directory name
'//return value: 1 for success, -1 for failure
'//
Response.write Folderspec
If ReportFolderStatus(Folderspec) = 1 Then
fso.deleteFolder (Folderspec)
deleteAFolder = 1
Else
deleteAFolder = -1
End if
End Function
15. FSOは指定されたディレクトリ内のフォルダディレクトリの一覧を表示します
Function ShowFolderList(folderspec)
'// Function: Show all subdirectories under this directory if it exists
'//formal parameter: directory name
'//return value: success is the list of subdirectories, failure is -1
'//
Dim f, f1, fc, s
If ReportFolderStatus(folderspec) = 1 Then
Set f = fso.GetFolder(folderspec)
Set fc = f.SubFolders
For Each f1 in fc
s = s & f1.name
s = s & "|"
Next
ShowFolderList = s
Else
ShowFolderList = -1
End if
End Function
16.FSO指定フォルダディレクトリのコピー
Function CopyAFolder(SourceFolder,DestinationFolder)
'// Function: Copy the directory only when the source directory exists, the destination directory is not affected.
'//Reference: source directory, destination directory
'//return value: success is 1, failure is -1
'//
Dim MyFolder
If ReportFolderStatus(SourceFolder) = 1 and ReportFolderStatus(DestinationFolder) = -1 Then
Set MyFolder = fso.GetFolder(SourceFolder)
CopyFolder SourceFolder,DestinationFolder
CopyAFolder = 1
Else
CopyAFolder = -1
End if
End Function
17. 指定したフォルダのディレクトリを移動する
Function MoveAFolder(SourcePath,DestinationPath)
'// Function: Move a directory only when the source directory exists and the destination directory does not exist.
'//formal reference: source directory, destination directory
'//return value: success is 1, failure is -1
'//
If ReportFolderStatus(SourcePath)=1 And ReportFolderStatus(DestinationPath)=0 Then
fso.MoveFolder SourcePath, DestinationPath
MoveAFolder = 1
Else
MoveAFolder = -1
End if
End Function
18. ディレクトリが存在するかどうかを判断する
'Response.Write ReportFolderStatus("G:\soft\delphi\my_pro\")
Function ReportFolderStatus(fldr)
'//Function: determine whether the directory exists or not
'//formal parameter: directory
'//return value: success is 1, failure is -1
'//
Dim msg
msg = -1
If (fso.FolderExists(fldr)) Then
msg = 1
Else
msg = -1
End If
ReportFolderStatus = msg
End Function
19. ディレクトリ作成時の情報表示
Function ShowFolderAccessInfo(FolderName,InfoType)
'//Function: Show information when the directory is created
'// Formal parameters: directory name, info type
'// 1 ----- creation time
'// 2 ----- last access time
'// 3 ----- Last modified time
'// 4 ----- directory path
'// 5 ----- directory name
'// 6 ----- directory type
'// 7 ----- directory size
'// 8 ----- parent directory
'// 9 ----- root directory
'// Return value: success is the information when the directory is created, failure: -1
'//
Dim f, s
If ReportFolderStatus(FolderName) = 1 then
Set f = fso.GetFolder(FolderName)
select Case InfoType
Case 1 s = f.Datecreated '// 1 ----- creation time
Case 2 s = f.DateLastAccessed '// 2 ----- last accessed
Time
Case 3 s = f.DateLastModified '// 3 ----- last modified time
Case 4 s = f.Path '// 4 ----- file path
Case 5 s = f.Name '// 5 ----- file name
Case 6 s = f.Type '// 6----- file type
Case 7 s = f.Size '// 7----- file size
Case 8 s = f.ParentFolder '// 8 ----- parent directory
Case 9 s = f.RootFolder '// 9 ----- root directory
End select
ShowFolderAccessInfo = s
ELse
ShowFolderAccessInfo = -1
End if
End Function
20. ネストされたフォルダの数を返す
Function DisplayLevelDepth(pathspec)
Dim f, n ,Path
Set f = fso.GetFolder(pathspec)
If f.IsRootFolder Then
DisplayLevelDepth = "The specified folder is the root folder. "&RootFolder
Else
Do Until f.IsRootFolder
Path = Path & f.Name &"
"
Set f = f.ParentFolder
n = n + 1
Loop
DisplayLevelDepth = "The specified folder is a folder with a nesting level of " & n & ".
"&Path
End If
End Function
21. 指定されたディスクドライブが存在するかどうかを判断する?
'Response.Write ReportDriveStatus("C:\")
Function ReportDriveStatus(drv)
'// Function: Determine if the disk exists
'//formal parameter: disk
'//return value: 1 for success, -1 for failure
'//
Dim msg
msg = -1
If fso.DriveExists(drv) Then
msg = 1
Else
msg = -1
End If
ReportDriveStatus = msg
End Function
22. FSOは、FAT、NTFS、CDFSなど、指定されたディスクで利用可能なタイプを返します。
'Response.Write ShowFileSystemType("C:\")
Function ShowFileSystemType(drvspec)
'//Function: disk type
'//formal parameter: disk name
'//return value: success for type: FAT, NTFS and CDFS, failure: -1
'//
Dim d
If ReportDriveStatus(drvspec) = 1 Then
Set d = fso.GetDrive(drvspec)
ShowFileSystemType = d.FileSystem
ELse
ShowFileSystemType = -1
End if
End Function
関連
-
Visual studio 2019 初心者向けサードパーティライブラリ追加チュートリアル(入門編)
-
ASPでimgタグのstyle属性を削除し、srcの正規関数だけを残す。
-
ASPでAdodbを経由して大容量ファイルをマルチスレッドでダウンロードするためのストリーム。
-
asp 文字列連結 &, 複数の文字列の合計, 文字列スプライシングクラス
-
OpenとConn.Executeの詳細と相違点と&H0001の説明。
-
aspとphpの時限式ページ生成のためのアイデアとコード
-
ASP動的インクルードファイル
-
ASP Baidu アクティブプッシュのコード例
-
ASPでは、.NETのStringオブジェクトと同様に、文字部分に対してPadLeftとPadRightの関数が実装されています。
-
ASPでのServer.HTMLEncodeの使用方法(カスタム関数あり)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ファイルが存在するかどうかを判断するasp関数
-
提案内容を改善するために、データベースを実行するaspプログラムの効率化
-
ASP RecordSet OpenとConnection.Executeのいくつかの違いと共有すべき詳細な内容
-
one.asp 複数のプロジェクト、関数ライブラリ、クラスライブラリを1つのバージョンのメソッドに統合
-
ASPで短い日付を0から長い2つの日付に書式設定する
-
asp バッチの追加・変更・削除操作のサンプルコード
-
Python データ解析 JupyterNotebook3 マジックコマンドの解説と例題
-
asp は整数の mod を受け取り、小数点以下がある場合は自動的に 1 を加算します。
-
asp createTextFileはutf8をサポートしたテキストファイルを生成します。
-
iis7でaspの行番号が不正確な問題の解決法