vbscript
Objetos del sistema de archivos
Buscar..
Comprobando la existencia de un archivo / carpeta / unidad
Métodos utilizados:
.DriveExists(strDrive) returns (True/False)
.FileExists(strFile) returns (True/False)
.FolderExists(strFolder) returns (True/False)
El siguiente código comprueba la existencia de un archivo utilizando el método " FileExists " de un objeto del sistema de archivos. Para verificar la existencia de una carpeta o una unidad, se puede utilizar el método " FolderExists " o " DriveExists " respectivamente.
Código:
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
Eliminar una carpeta existente y crear una nueva carpeta
Métodos utilizados:
.DeleteFolder(FileSpec, Force (True/False))
.CreateFolder(Path)
.DeleteFile(FileSpec, Force (True/False))
El siguiente ejemplo ilustra la eliminación y creación de una carpeta utilizando los métodos " DeleteFolder " y " CreateFolder ".
Código:
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
De manera similar, uno puede eliminar un archivo usando el método " 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
Copiando un archivo / carpeta
Métodos utilizados:
.CopyFile(Source, Dest [,Overwrite (True/False)]
.CopyFolder(Source, Dest [,Overwrite (True/False)]
El siguiente código ilustra el uso del método CopyFile para copiar un archivo a una nueva ubicación. Lo mismo se puede lograr para las carpetas utilizando el método CopyFolder .
Código:
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
Mover un archivo / carpeta
Métodos utilizados:
.MoveFile(Source, Dest)
.MoveFolder(Source, Dest)
El siguiente código ilustra el uso del método MoveFile para mover un archivo a una nueva ubicación. Lo mismo se puede lograr para las carpetas utilizando el método MoveFolder .
Código:
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
NOTA: No tenemos ningún método de un objeto de sistema de archivos que nos permita cambiar el nombre de un archivo. Sin embargo, esto se puede lograr con el método MoveFile moviendo el archivo a la misma ubicación con un nombre diferente como se muestra a continuación:
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
Objeto de referencia a una carpeta.
Métodos utilizados:
.GetFolder(strPath) - Returns an object referring to the path
Podemos establecer una referencia de objeto a una carpeta utilizando el método getFolder y realizar diferentes operaciones en ellos.
Código:
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
Objeto de referencia a un archivo
Métodos utilizados:
.GetFile(strPath) - Returns an object referring to a file.
Podemos establecer una referencia de objeto a un archivo utilizando el método getFile y realizar diferentes operaciones en ellos.
Código:
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