Manipulation de fichiers et dossiers

Contenu du snippet

Et oui, grace à l'utilisation de l'activeX le VBS n'a plus le monopole de la manipulation de fichiers.
Voila quelques instructions permettant de créer d'écrire et de lire un fichier. Ils en existent bien d'autres permettant notamment de copier de détruire ou de déplacer les fichiers et dossiers ainsi que les bases de registres ou les fichiers temporels. J'en expliquerai surement le fonctionnement dans un autre article.

Source / Exemple :


<html>
<!-- date de creation: 16/07/2003 -->
<head>
<title></title>
<meta name="Description" content="">
<meta name="Keywords" content="">
<meta name="Author" content="Ak3naton">
<meta name="Generator" content="WebExpert 2000">
</head>
<script>
function create() {  //fonction de création d'un fichier
var Object = new ActiveXObject('Scripting.FileSystemObject'); //Crée un espace mémoire ActiveX qui va nous servir à contenir et à modifier le fichier voulu.
var NouvTxt = Object.CreateTextFile('Hello.txt',true); //Ici on crée un nouveau fichier .txt mais vous pouvez mettre l'extension que vous voulez comme .html, le paramètre "false" indique qu'un fichier existant ne sera pas écrasé, "true" a l'effet inverse. Aprés avoir été créé avec cette fonction le fichier est immédiatement accessible pour une lecture ou une écriture.
NouvTxt.Write('Hello world !'); //On écrit un petit mot.
NouvTxt.Close(); //Puis on referme le fichier.
}
function read() { //fonction de lecture d'un fichier
var Object1 = new ActiveXObject('Scripting.FileSystemObject'); //Même formule que dans la fonction précédente, j'ai juste changé le nom de la variable pour ne pas s'embrouiller, même si ce n'est pas indispensable étant donné que l'on change de fonction.
var LirTxt = Object1.GetFile('Hello.txt'); // GetFile() permet d'attribuer à l'objet activeX la valeur d'un fichier existant, ici , celui que l'on a créé précedemment. Seulement getfile() ne le rend pas immédiatement accessible comme le createTextFile, il va falloir utiliser une autre fonction.
var doc1 = LirTxt.OpenAsTextStream(1); //Maintenant que notre fichier .txt est initialisé on va pouvoir le manipuler, le paramètre 8 signifie que l'on va ouvrir le fichier et le compléter , la valeur 1 permet de l'ouvrir en lecture seule, et le 2 l'ouvre et écrit en écrasant les valeurs déjà existantes.
doc1.Skip(5); //cette instruction permet d'exclure les 5 premiers caractères du fichier lors de sa lecture.
var txt = doc1.ReadAll(); // On "lit tout" le fichier, il existe aussi ReadLine(x) qui lit la ligne x et Read(x) qui lit les x premiers caractères du fichier.
fenetre.value=txt; //On affiche le contenu.
doc1.Close(); //On referme.
}
</script>
<body>
<input type="button" value="Créer" Onclick="create()"><br>
<input type="button" value="Lire" Onclick="read()">
<input type="text" size=40 value="" name="fenetre">
</body>
</html>

Conclusion :


Amusez vous bien !

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.