Maison >interface Web >js tutoriel >Comment utiliser ActiveXObject pour exploiter des dossiers locaux dans les compétences JavaScript_javascript

Comment utiliser ActiveXObject pour exploiter des dossiers locaux dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:54:00960parcourir

Sur la plate-forme Windows, js peut appeler de nombreux ActivexObjects fournis par Windows. Cet article utilise js pour implémenter le traitement de documents et donne une brève introduction à l'utilisation de js pour écrire ActiveX.

Copier le code Le code est le suivant :











L'objet ActiveXObject en JavaScript active et renvoie une référence à l'objet Automation. Comment utiliser :

newObj = new ActiveXObject(servername.typename[, location])

La syntaxe de l'objet ActiveXObject comprend ces parties : newObj est requis. Le nom de la variable à attribuer à ActiveXObject.
le nom du serveur est requis. Nom de l'application qui a fourni cet objet.
typename est requis. Le type ou la classe d'objet à créer.
L'emplacement est facultatif. Le nom du serveur réseau qui a créé cet objet.

Rappelez-vous : ActiveX est un produit Microsoft, donc cette chose n'est prise en charge que par IE !

Utilisez ActiveXObject en javaScript pour créer des fichiers d'opération FileSystemObject

1. Noyau d'implémentation de la fonction : objet FileSystemObject

Pour implémenter les fonctions d'opération de fichiers en JavaScript, nous nous appuyons principalement sur l'objet FileSystemobject.

2. Programmation FileSystemObject

La programmation à l'aide d'objets FileSystemObject est très simple. Généralement, vous devez suivre les étapes suivantes : créer des objets FileSystemObject, appliquer les méthodes associées et accéder aux propriétés liées aux objets.

(1) Créer un objet FileSystemObject

Le code pour créer un objet FileSystemObject ne prend qu'une seule ligne :
var fso = new ActiveXObject("Scripting.FileSystemObject");
Une fois le code ci-dessus exécuté, fso devient une instance d'objet FileSystemObject.

(2) Méthodes liées à l'application

Après avoir créé une instance d'objet, vous pouvez utiliser les méthodes associées à l'objet. Par exemple, utilisez la méthode CreateTextFile pour créer un fichier texte :
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.createtextfile("c:\myjstest.txt",true" );
(3) Accès aux attributs liés aux objets
Pour accéder aux attributs liés aux objets, vous devez d'abord établir un handle vers l'objet, ce qui est obtenu via la série de méthodes get : GetDrive est responsable de l'obtention des informations sur le lecteur , GetFolder est responsable de l'obtention des informations sur le dossier, GetFile est responsable de l'obtention des informations sur le fichier. Par exemple, après avoir pointé sur le code suivant, f1 devient le handle pointant vers le fichier c:test.txt :
var fso = new ActiveXObject(" Scripting.FileSystemObject");
var f1 = fso. GetFile("c:\myjstest.txt");
Ensuite, utilisez f1 pour accéder aux propriétés pertinentes de l'objet. Par exemple :

.

Copier le code Le code est le suivant :

var fso = new ActiveXObject("Scripting. FileSystemObject") ;
var f1 = fso.GetFile("c:\myjstest.txt");
alert("Fichier modifié en dernier : " f1.DateLastModified);

Après avoir exécuté la dernière phrase ci-dessus, la dernière valeur d'attribut de date modifiée de c:myjstest.txt sera affichée.
Mais veuillez noter une chose : pour les objets créés à l'aide de la méthode create, vous n'avez plus besoin d'utiliser la méthode get pour obtenir le handle de l'objet. Dans ce cas, vous pouvez utiliser directement le nom du handle créé par la méthode create :

Copier le code Le code est le suivant :

var fso = new ActiveXObject("Scripting. FileSystemObject") ;
var f1 = fso.createtextfile("c:\myjstest.txt",true");
alert("Fichier modifié en dernier : " f1.DateLastModified);

3. Fonctionnement des disques

Il est facile d'utiliser l'objet FileSystemObject pour faire fonctionner par programme des lecteurs et des dossiers, tout comme interagir avec des fichiers dans le navigateur de fichiers Windows, par exemple : copier, déplacer des dossiers et obtenir des informations sur les propriétés du dossier.
(1) Attributs de l'objet Drives
L'objet Drive est responsable de la collecte du contenu des ressources du lecteur physique ou logique dans le système. Il possède les attributs suivants :
l TotalSize : La taille du lecteur calculée en octets.
l AvailableSpace ou FreeSpace : L'espace disponible du lecteur calculé en octets.
l DriveLetter : lettre de lecteur.
l DriveType : type de lecteur, la valeur est : amovible (support amovible), fixe (support fixe), réseau (ressource réseau), CD-ROM ou disque RAM.
l SerialNumber : Le numéro de série du lecteur.
l FileSystem : Le type de système de fichiers du lecteur, les valeurs sont FAT, FAT32 et NTFS.
l IsReady : indique si le lecteur est disponible.
l ShareName : Nom du partage.
l VolumeName : nom de l'étiquette du volume.
l Path et RootFolder : le chemin ou le nom du répertoire racine du lecteur.

(2) Routines d'opération d'objet pilote

La routine suivante affiche des informations telles que le nom du volume, la capacité totale et l'espace disponible du lecteur C :

Copiez le code Le code est le suivant :

var fso, drv, s="";
fso = new ActiveXObject("Scripting.FileSystemObject");
drv = fso.GetDrive(fso .GetDriveName("c :\"));
s = "Lecteur C:" " – ";
s = drv.VolumeName "n";
s = "Espace total : " drv.TotalSize / 1024;
s = " Ko" "n";
s = "Espace libre : " drv.FreeSpace / 1024;
s = " Ko" "n";
alerte(s) ;

4. Dossiers d'opération (Dossiers)

Les opérations impliquant des dossiers incluent la création, le déplacement, la suppression et l'obtention des attributs associés.
Routine d'opération d'objet dossier :
La routine suivante permettra de pratiquer des opérations telles que l'obtention du nom du dossier parent, la création d'un dossier, la suppression d'un dossier et la détermination s'il s'agit du répertoire racine :

Copier le code Le code est le suivant :

var fso, fldr, s = "" ;
// Créer une instance d'objet FileSystemObject
fso = new ActiveXObject("Scripting.FileSystemObject");
// Obtenir un objet Drive
fldr = fso.GetFolder("c:\");
/ / Afficher le nom du répertoire parent
alert("Le nom du dossier parent est : " fldr "n");
// Afficher le nom du lecteur
alert("Contenu sur le lecteur " fldr.Drive "n");
// Déterminer s'il s'agit du répertoire racine
if (fldr.IsRootFolder)
alert("Ceci est le dossier racine.");
else
alert("Ce dossier n'est pas un dossier racine.");
alert("nn");
// Créer un nouveau dossier
fso.CreateFolder ("C:\Bogus");
alert("Dossier créé C: \Bogus" "n");
//Affiche le nom de base du dossier, à l'exclusion du nom du chemin
alert("Basename = " fso.GetBaseName("c:\ bogus") "n");
// Supprimer le dossier créé
fso.DeleteFolder ("C:\Bogus");
alert("Dossier supprimé C:\Bogus" "n");

5. Fichiers d'opération (Fichiers)

Les opérations sur les fichiers sont plus compliquées que les opérations sur les lecteurs et les dossiers présentées ci-dessus. Elles sont essentiellement divisées en deux catégories suivantes : opérations de création, de copie, de déplacement, de suppression de fichiers et opérations de création, d'ajout, de suppression et de lecture de fichiers. opérations. Chacun est présenté en détail ci-dessous.
(1) Créer un fichier
Il existe 3 méthodes qui peuvent être utilisées pour créer un fichier texte vide. Ce type de fichier est parfois appelé flux de texte.
La première consiste à utiliser la méthode CreateTextFile. Le code est le suivant :

Copier le code Le code est le suivant :

var fso, f1;
fso = new ActiveXObject ("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\testfile.txt", true);

La deuxième méthode consiste à utiliser la méthode OpenTextFile et à ajouter l'attribut ForWriting. La valeur de ForWriting est 2. Le code est le suivant :

Copier le code Le code est le suivant :

var fso, ts;
var ForWriting= 2 ;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\test.txt", ForWriting, true);

La troisième méthode consiste à utiliser la méthode OpenAsTextStream et à définir également l'attribut ForWriting.

Copier le code Le code est le suivant :

var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\test1.txt");
f1 = fso.GetFile("c: \test1. txt");
ts = f1.OpenAsTextStream(ForWriting, true);

(2) Ajouter des données au fichier

Une fois le fichier créé, vous devez généralement suivre les étapes « Ouvrir le fichier -> Remplir les données -> Fermer le fichier » pour ajouter des données au fichier.
Pour ouvrir un fichier, utilisez la méthode OpenTextFile de l'objet FileSystemObject, ou la méthode OpenAsTextStream de l'objet File.
Pour renseigner des données, utilisez la méthode Write, WriteLine ou WriteBlankLines de l'objet TextStream. Sous la même fonction d'écriture de données, la différence entre ces trois méthodes est que la méthode Write n'ajoute pas de nouveau saut de ligne à la fin des données écrites, la méthode WriteLine ajoute un nouveau saut de ligne à la fin et WriteBlankLines en ajoute un. ou plus de blancs.
Pour fermer le fichier, vous pouvez utiliser la méthode Close de l'objet TextStream.

(3) Routines pour créer des fichiers et ajouter des données

Le code suivant combine les étapes de création d'un fichier, d'ajout de données et de fermeture du fichier :

Copier le code Le code est le suivant :

var fso, tf;
fso = new ActiveXObject ("Scripting.FileSystemObject");
// Créer un nouveau fichier
tf = fso.CreateTextFile("c:\testfile.txt", true);
// Remplir les données et ajoutez des caractères de nouvelle ligne
tf.WriteLine("Testing 1, 2, 3.") ;
// Ajoutez 3 lignes vides
tf.WriteBlankLines(3) ;
// Remplissez une ligne sans sauts de ligne
tf.Write ("Ceci est un test.");
//Fermez le fichier
tf.Close();

(4) Lire le contenu du fichier

Pour lire les données d'un fichier texte, utilisez la méthode Read, ReadLine ou ReadAll de l'objet TextStream. La méthode Read est utilisée pour lire un nombre spécifié de caractères dans le fichier ; la méthode ReadLine lit une ligne entière, à l'exclusion des nouvelles lignes et la méthode ReadAll lit l'intégralité du contenu du fichier texte ; Le contenu lu est stocké dans une variable chaîne pour l'affichage et l'analyse. Lorsque vous utilisez la méthode Read ou ReadLine pour lire le contenu du fichier, si vous souhaitez ignorer certaines parties, vous devez utiliser la méthode Skip ou SkipLine.
Le code suivant montre l'ouverture d'un fichier, le remplissage des données, puis la lecture des données :

Copier le code Le code est le suivant :

var fso, f1, ts, s;
var ForReading = 1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// Créer un fichier
f1 = fso.CreateTextFile("c:\testfile.txt", true) ;
// Remplir une ligne de données
f1.WriteLine("Hello World");
f1.WriteBlankLines(1);
// Fermer le fichier
f1.Close( );
// Ouvrir le fichier
ts = fso.OpenTextFile("c:\testfile.txt", ForReading);
// Lire une ligne du fichier dans une chaîne
s = ts.ReadLine();
// Afficher les informations sur la chaîne
alert("File contents = '" s "'");
// Fermer le fichier
ts.Close();

(5) Déplacer, copier et supprimer des fichiers

Pour les trois opérations sur les fichiers ci-dessus, JavaScript a deux méthodes correspondantes : File.Move ou FileSystemObject.MoveFile est utilisé pour déplacer des fichiers ; File.Copy ou FileSystemObject.CopyFile est utilisé pour copier des fichiers ; pour supprimer des fichiers.
Le code suivant montre la création d'un fichier texte dans le répertoire racine du lecteur C, en remplissant du contenu, puis en déplaçant le fichier vers le répertoire tmp, en créant une copie du fichier sous le répertoire temp et enfin en supprimant les fichiers dans ces deux répertoires :

Copier le code Le code est le suivant :

var fso, f1 , f2, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\testfile.txt", true);
// Écrire une ligne
f1.Write("Ceci est un test.");
// Fermez le fichier
f1.Close();
// Récupérez le handle du fichier dans le répertoire racine C:
f2 = fso.GetFile("c:\ testfile.txt");
// Déplacer le fichier vers le répertoire mp
f2.Move ("c:\tmp\testfile.txt");
// Copiez le fichier dans le répertoire emp
f2.Copy ("c:\temp\testfile.txt");
// Récupérez le handle du fichier
f2 = fso.GetFile("c:\ tmp\testfile.txt");
f3 = fso.GetFile("c:\temp\testfile.txt");
//Supprimer le fichier
f2.Delete();
f3. Supprimer();

6.Conclusion

Grâce à l'introduction ci-dessus et aux exemples de divers objets, propriétés et méthodes de FileSystemObject, je pense que vous comprenez clairement comment utiliser le langage JavaScript pour faire fonctionner les lecteurs, fichiers et dossiers sur la page. Cependant, les routines mentionnées ci-dessus sont très simples. Pour maîtriser pleinement et de manière flexible la technologie d'exploitation de fichiers JavaScript, de nombreux exercices pratiques sont nécessaires. Et encore une chose à rappeler à tout le monde, car cela implique des opérations avancées telles que la lecture et l'écriture de fichiers dans le navigateur, pour le niveau de sécurité par défaut du navigateur, il y aura une invite d'informations avant l'exécution du code. Veuillez vérifier cela dans l'environnement réel. Invitez les visiteurs à faire attention.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn