vbscript
Объекты FileSystem
Поиск…
Проверка наличия файла / папки / диска
Используемые методы:
.DriveExists(strDrive) returns (True/False)
.FileExists(strFile) returns (True/False)
.FolderExists(strFolder) returns (True/False)
Следующий код проверяет наличие файла с использованием метода FileExists объекта файловой системы. Для проверки наличия Папки или диска можно использовать метод « FolderExists » или « DriveExists » соответственно.
Код:
Dim strPath, objFso
strPath = "C:\Users\GS\Desktop\tasks.txt" 'Enter the absolute path of the File/Folder/Drive
Set objFso = CreateObject("Scripting.FileSystemObject")
'Checking for the File's existence
If objFso.FileExists(strPath) then 'returns True if the file exists, else False
Msgbox "File Exists!"
Else
Msgbox "File does not Exist!"
End If
Set objFso = Nothing
Удаление существующей папки и создание новой папки
Используемые методы:
.DeleteFolder(FileSpec, Force (True/False))
.CreateFolder(Path)
.DeleteFile(FileSpec, Force (True/False))
В следующем примере показано удаление и создание папки с использованием методов « DeleteFolder » и « CreateFolder ».
Код:
Dim strFolderPath, objFso
strFolderPath = "C:\Users\GS\Desktop\testFolder"
Set objFso = CreateObject("Scripting.Filesystemobject")
'Checking for the folder's existence and deleting it, if found
If objFso.FolderExists(strFolderPath) then
objFso.DeleteFolder strFolderPath, True 'True indicates forceful deletion
End If
'Creating a new Folder
objFso.CreateFolder strFolderPath
Set objFso = Nothing
Аналогично, можно удалить файл с помощью метода DeleteFile :
Dim strFilePath:strFilePath = "C:\Users\GS\Desktop\tasks.txt"
If objFso.FileExists(strFilePath) then
objFso.DeleteFile strFilePath, True 'true indicates forceful deletion
End If
Копирование файла / папки
Используемые методы:
.CopyFile(Source, Dest [,Overwrite (True/False)]
.CopyFolder(Source, Dest [,Overwrite (True/False)]
Следующий код иллюстрирует использование метода CopyFile для копирования файла в новое место. То же самое можно сделать для папок с помощью метода CopyFolder .
Код:
Dim objFso, strSourcePath, strDestPath
strSourcePath = "C:\Users\GS\Desktop\Source.txt"
strDestPath = "C:\Users\GS\Desktop\Dest.txt"
Set objFso = CreateObject("Scripting.FileSystemObject")
If objFso.FileExists(strSourcePath) then
objFso.CopyFile strSourcePath, strDestPath, True 'True indicates the overwritting of the file at the destination path i.e, if the file already exists, it will be overwritten
End If
Set objFso = Nothing
Перемещение файла / папки
Используемые методы:
.MoveFile(Source, Dest)
.MoveFolder(Source, Dest)
Следующий код иллюстрирует использование метода MoveFile для перемещения файла в новое место. То же самое можно сделать для папок с помощью метода MoveFolder .
Код:
Dim objFso, strSourcePath, strDestPath
strSourcePath = "C:\Users\GS\Desktop\Source.txt"
strDestPath = "C:\Users\GS\Desktop\Folder\Dest.txt"
Set objFso = CreateObject("Scripting.FileSystemObject")
If objFso.FileExists(strSourcePath) then
objFso.MoveFile strSourcePath, strDestPath
End If
Set objFso = Nothing
ПРИМЕЧАНИЕ. У нас нет какого-либо метода объекта файловой системы, который позволяет нам переименовать файл. Однако это может быть достигнуто с помощью метода MoveFile , перемещая файл в том же месте с другим именем, как показано ниже:
Dim objFso, strSourcePath, strDestPath
strSourcePath = "C:\Users\GS\Desktop\OldName.txt"
strDestPath = "C:\Users\GS\Desktop\NewName.txt" 'Location is same but the name is different
Set objFso = CreateObject("Scripting.FileSystemObject")
If objFso.FileExists(strSourcePath) then
objFso.MoveFile strSourcePath, strDestPath
End If
Set objFso = Nothing
Ссылка объекта на папку
Используемые методы:
.GetFolder(strPath) - Returns an object referring to the path
Мы можем установить ссылку на объект в папку с помощью метода getFolder и выполнить различные операции над ними.
Код:
Dim strFolderPath, objFso, objFolder
strFolderPath = "C:\Users\GS\Desktop\LogsFolder"
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.getFolder(strFolderPath)
'Accessing the Folder's Properties
Msgbox objFolder.Name 'Returns the Folder's Name
Msgbox objFolder.Size 'Returns the Folder's size in Bytes
Msgbox objFolder.DateCreated 'Returns the Folder's creation date
Msgbox objFolder.DateLastModified 'Returns the Folder's last modified date
Msgbox objFolder.Path 'Returns the Folder's Absolute Path
Dim objChildFolders
Set objChildFolders = objFolder.SubFolders 'Returns the collection of all subfolder
Dim objChildFiles
Set objChildFiles = objFolder.Files 'Returns the collection of all files contained in the folder
'Using the Folder's methods
objFolder.Copy strDestPAth, True 'Copies the folder to path contained in strDestPath and overwrite Flag=True
objFolder.Delete True 'Deletes the Folder; True indicates forceful Deletion
objFolder.Move strDestPath 'Moves the Folder to the path contained in strDestPath variable
objFolder.CreateTextFile strFileName, True 'Created a new text file inside the folder and overwrites the existing file(if it exists)
Set objChildFiles = Nothing
Set objChildFolders = Nothing
Set objFolder = Nothing
Set objFso = Nothing
Ссылка на объект для файла
Используемые методы:
.GetFile(strPath) - Returns an object referring to a file.
Мы можем установить ссылку на объект на файл, используя метод getFile, и выполнить различные операции над ними.
Код:
Dim strFilePath, objFso, objFile
strFilePath = "C:\Users\GS\Desktop\LogsFolder\file.txt"
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.getFile(strFilePath)
'Accessing the File's Properties
Msgbox objFile.Name 'Returns the File's Name
Msgbox objFile.Size 'Returns the File's size in Bytes
Msgbox objFile.DateCreated 'Returns the File's creation date
Msgbox objFile.DateLastModified 'Returns the File's last modified date
Msgbox objFile.Path 'Returns the File's absolute path
'Using the File's Methods
objFile.Delete True 'Forcefully deletes the File
objFile.Copy strDestPath, True 'Copies the file to path contained in variable strDestPath
objFile.Move strDestPath 'Moves the file to the path contained in the variable strDestPath
objFile.OpenAsTextStream mode 'Opens the file as a text stream in either Read mode(mode=1), write mode(mode=2) or Append mode(mode=8)
Set objFile = Nothing
Set objFso = Nothing