Utilisation des lecteurs et des dossiers

Microsoft VBScript

Bibliothèque d'exécution Microsoft® Scripting - FileSystemObject Utilisation des lecteurs et des dossiers
 Précédent
Suivant


Le modèle d'objet FileSystemObject (FSO) vous permet d'utiliser dans vos programmes les lecteurs et les dossiers comme vous le faites déjà de façon interactive dans l'Explorateur de Windows. Vous pouvez copier et déplacer des dossiers, lire des informations relatives aux dossiers et aux lecteurs, etc.

Lecture des informations relatives aux lecteurs
L'objet Drive vous permet d'obtenir des informations relatives aux différents lecteurs connectés à un système physiquement ou à travers le réseau. Ses propriétés vous apportent les informations suivantes :

  • La taille totale du lecteur en octets (TotalSize, propriété).
  • L'espace disponible sur le lecteur en octets (AvailableSpace et FreeSpace, propriétés).
  • La lettre affectée au lecteur (DriveLetter, propriété).
  • Le type du lecteur, c'est-à-dire s'il est amovible, fixe, réseau, CD-ROM ou virtuel (DriveType, propriété).
  • Le numéro de série du lecteur (SerialNumber, propriété).
  • Le type de système de fichiers utilisé par le lecteur, comme FAT, FAT32, NTFS et autre (FileSystem, propriété).
  • La disponibilité d'un lecteur (IsReady, propriété).
  • Le nom du partage/ou du volume (ShareName et VolumeName, propriétés).
  • Le chemin ou le dossier racine du lecteur (Path et RootFolder, propriétés).
Observez dans l'exemple de code la mise en �uvre de ces propriétés dans le FileSystemObject.

Exemple d'utilisation de l'objet Drive
Utilisez l'objet Drive pour obtenir des informations sur un lecteur. Le code ci-dessous ne présente pas de référence à un objet Drive ; utilisez plutôt la méthode GetDrive pour obtenir une référence à un objet Drive existant (dans le cas présent drv).

L'exemple ci-dessous illustre l'utilisation de l'objet Drive dans VBScript :

Sub ShowDriveInfo(drvPath)
  Dim fso, drv, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
  s = "Lecteur " & UCase(drvPath) & " - "
  s = s & drv.VolumeName & "<br>"
  s = s & "Espace total: " & FormatNumber(drv.TotalSize / 1024, 0)
  s = s & " Ko" & "<br>"
  s = s & "Espace disponible: " & FormatNumber(drv.FreeSpace / 1024, 0)
  s = s & " Ko" & "<br>"
  Response.Write s
End Sub
Le code suivant illustre la même fonctionnalité dans JScript :
function ShowDriveInfo1(drvPath)
{
  var fso, drv, s ="";
  fso = new ActiveXObject("Scripting.FileSystemObject");
  drv = fso.GetDrive(fso.GetDriveName(drvPath));
  s += "Lecteur " + drvPath.toUpperCase()+ " - ";
  s += drv.VolumeName + "<br>";
  s += "Espace total: " + drv.TotalSize / 1024;
  s += " Ko" + "<br>"; 
  s += "Espace disponible: " + drv.FreeSpace / 1024;
  s += " Ko" + "<br>";
  Response.Write(s);
}

Utilisation des dossiers
Le tableau ci-dessous présente des opérations sur les dossiers courants et les méthodes correspondantes.

TâcheMéthode
Créer un dossier. FileSystemObject.CreateFolder
Supprimer un dossier. Folder.Delete ou FileSystemObject.DeleteFolder
Déplacer un dossier. Folder.Move ou FileSystemObject.MoveFolder
Copier un dossier. Folder.Copy ou FileSystemObject.CopyFolder
Extraire le nom d'un dossier. Folder.Name
Déterminer l'existence d'un dossier sur un lecteur. FileSystemObject.FolderExists
Obtenir une instance d'un objet Folder existant. FileSystemObject.GetFolder
Déterminer le nom du dossier parent d'un dossier. FileSystemObject.GetParentFolderName
Déterminer le chemin des dossiers systèmes. FileSystemObject.GetSpecialFolder

Observez dans l'exemple de code la mise en �uvre de ces méthodes et propriétés dans le FileSystemObject.

L'exemple ci-dessous illustre l'utilisation des objets Folder et FileSystemObject pour manipuler les dossiers et obtenir des informations les concernant dans VBScript :

Sub ShowFolderInfo()
  Dim fso, fldr, s
  ' Obtient une instance du FileSystemObject.
  Set fso = CreateObject("Scripting.FileSystemObject")
  ' Obtient l'objet Drive.
  Set fldr = fso.GetFolder("c:")
  ' Affiche le nom du dossier parent.
  Response.Write "Le nom du dossier parent est: " & fldr & "<br>"
  ' Affiche le nom du lecteur.
  Response.Write "Résidant sur le lecteur " & fldr.Drive & "<br>"
  ' Affiche le nom de la racine.
  If fldr.IsRootFolder = True Then
    Response.Write "Ceci est le dossier racine." & ""<br>"<br>"
  Else
    Response.Write "Ce dossier n'est pas un dossier racine." & "<br><br>" 
  End If
  ' Crée un nouveau dossier avec l'objet FileSystemObject.
  fso.CreateFolder ("C:\Bogus")
  Response.Write "Dossier C:\Bogus créé" & "<br>"
  ' Affiche le nom de base du dossier.
  Response.Write "Nom de base = " & fso.GetBaseName("c:\bogus") & "<br>"
  ' Supprime le dossier nouvellement créé.
  fso.DeleteFolder ("C:\Bogus")
  Response.Write "Dossier C:\Bogus supprimé" & "<br>"
End Sub
Cet exemple illustre l'utilisation des objets Folder et FileSystemObject dans JScript :
function ShowFolderInfo()
{
  var fso, fldr, s = "";
  // Obtient une instance du FileSystemObject.
  fso = new ActiveXObject("Scripting.FileSystemObject");
  // Obtient l'objet Drive.
  fldr = fso.GetFolder("c:");
  // Affiche le nom du dossier parent.
  Response.Write("Le nom du dossier parent est: " + fldr + "<br>");
  // Affiche le nom du lecteur.
  Response.Write("Résidant sur le lecteur " + fldr.Drive + "<br>");
  // Affiche le nom de la racine.
  if (fldr.IsRootFolder)
    Response.Write("Ceci est le dossier racine.");
  else
    Response.Write("Ce dossier n'est pas un dossier racine.");
  Response.Write("<br><br>");
  // Crée un nouveau dossier avec l'objet FileSystemObject.
  fso.CreateFolder ("C:\\Bogus");
  Response.Write("Dossier C:\\Bogus créé" + "<br>");
  // Affiche le nom de base du dossier.
  Response.Write("Nom de base = " + fso.GetBaseName("c:\\bogus") + "<br>");
  // Supprime le dossier nouvellement créé.
  fso.DeleteFolder ("C:\\Bogus");
  Response.Write("Dossier C:\\Bogus supprimé" + "<br>");
}