Lire et écrire dans un fichier en utilisant VBScript

Comment Pouvons-nous lire et écrire une chaîne de caractères dans un fichier texte en utilisant VBScript? Je veux dire, j'ai un fichier texte qui est déjà présent, donc quand j'utilise ce code ci-dessous:-

Set fso = CreateObject("Scripting.FileSystemObject" )            
Set file = fso.OpenTextFile("C:Newmaddy.txt",1,1) 

ceci ouvre le fichier seulement pour la lecture mais je suis incapable d'écrire quoi que ce soit et lorsque j'utilise ce code:

Set fso = CreateObject("Scripting.FileSystemObject" )            
Set file = fso.OpenTextFile("C:Newmaddy.txt",2,1)

je peux simplement utiliser ce fichier pour écrire mais je ne peux rien lire. Y at - il de toute façon par lequel nous pouvons ouvrir le fichier pour la lecture et l'écriture en appelant simplement le OpenTextFile méthode uniquement lorsque.

je suis vraiment nouveau à VBScript. Je ne connais que les concepts de C. Y a-t-il un lien pour me faire vraiment commencer avec VBScript?

je suppose que j'ai besoin d'avoir une bonne connaissance des objets et des propriétés des concepts.

19
demandé sur Peter Mortensen 2009-07-17 15:21:02

9 réponses

vous pouvez créer un fichier temp, puis le renommer à nouveau en fichier original:

Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "c:\test\file.txt"
strTemp = "c:\test\temp.txt"
Set objFile = objFS.GetFile(strFile)
Set objOutFile = objFS.CreateTextFile(strTemp,True)
Set ts = objFile.OpenAsTextStream(1,-2)
Do Until ts.AtEndOfStream
    strLine = ts.ReadLine
    ' do something with strLine 
    objOutFile.Write(strLine)
Loop
objOutFile.Close
ts.Close
objFS.DeleteFile(strFile)
objFS.MoveFile strTemp,strFile 

Utilisation est presque la même à l'aide de OpenTextFile:

Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "c:\test\file.txt"
strTemp = "c:\test\temp.txt"
Set objFile = objFS.OpenTextFile(strFile)
Set objOutFile = objFS.CreateTextFile(strTemp,True)    
Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
    ' do something with strLine 
    objOutFile.Write(strLine & "kndfffffff")
Loop
objOutFile.Close
objFile.Close
objFS.DeleteFile(strFile)
objFS.MoveFile strTemp,strFile 
21
répondu ghostdog74 2010-03-22 19:44:53

pour en savoir plus sur L'objet FileSystemObject, cliquez sur http://msdn.microsoft.com/en-us/library/aa242706 (v=60).aspx