2010-06-25 3 views
6

J'ai une variable nommée 'données' je dois écrire dans un fichier texte nommé "listfile.txt" .Pouvez-vous me dire le code vbscript pour le faire .. et je besoin d'un code vbscript pour la valeur de lecture de fichier texte "listfile.txt" aussiLecture et écriture de valeur à partir d'un fichier texte en utilisant le code vbscript

+0

double possible de [Comment lire un fichier texte à l'aide VBScript?] (Http://stackoverflow.com/questions/854975/how -to-read-from-a-text-file-using-vbscript) – Helen

+0

Cette question est assez bien couverte dans StackOverflow: http://stackoverflow.com/search?q=[vbscript]+read+text+file – Fionnuala

Répondre

28

Pour écrire

Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\listfile.txt",2,true) 
objFileToWrite.WriteLine(data) 
objFileToWrite.Close 
Set objFileToWrite = Nothing 

paramètres OpenTextFile:

<filename>, IOMode (1=Read,2=write,8=Append), Create (true,false), Format (-2=System Default,-1=Unicode,0=ASCII) 

Pour lire l'intégralité du fichier

Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\listfile.txt",1) 
strFileText = objFileToRead.ReadAll() 
objFileToRead.Close 
Set objFileToRead = Nothing 

à lire ligne par ligne

Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\listfile.txt",1) 
Dim strLine 
do while not objFileToRead.AtEndOfStream 
    strLine = objFileToRead.ReadLine() 
    'Do something with the line 
loop 
objFileToRead.Close 
Set objFileToRead = Nothing 
0

Ce script lit les lignes d'un fichier volumineux et écrit dans de nouveaux petits fichiers. Dupliquera l'en-tête de la première ligne (en-tête) à tous les fichiers enfants

Dim strLine 
lCounter = 1 
fCounter = 1 
cPosition = 1 
MaxLine = 1000 
splitAt = MaxLine 
Dim fHeader 
sFile = "inputFile.txt" 
dFile = LEFT(sFile, (LEN(sFile)-4))& "_0" & fCounter & ".txt" 
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile(sFile,1) 
Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile(dFile,2,true) 
do while not objFileToRead.AtEndOfStream 
     strLine = objFileToRead.ReadLine() 
     objFileToWrite.WriteLine(strLine) 
     If cPosition = 1 Then 
      fHeader = strLine 
     End If 
     If cPosition = splitAt Then 
      fCounter = fCounter + 1 
      splitAt = splitAt + MaxLine 
      objFileToWrite.Close 
      Set objFileToWrite = Nothing 
      If fCounter < 10 Then 
       dFile=LEFT(dFile, (LEN(dFile)-5))& fCounter & ".txt" 
       Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile(dFile,2,true) 
       objFileToWrite.WriteLine(fHeader) 
      ElseIf fCounter <100 Or fCounter = 100 Then 
       dFile=LEFT(dFile, (LEN(dFile)-6))& fCounter & ".txt" 
       Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile(dFile,2,true) 
       objFileToWrite.WriteLine(fHeader) 
      Else 
       dFile=LEFT(dFile, (LEN(dFile)-7)) & fCounter & ".txt" 
       Set objFileToWrite = CreateObject("Scripting.FileSystemObject").OpenTextFile(dFile,2,true) 
       objFileToWrite.WriteLine(fHeader) 
      End If 
     End If 
     lCounter=lCounter + 1 
     cPosition=cPosition + 1 
Loop 
objFileToWrite.Close 
Set objFileToWrite = Nothing 
objFileToRead.Close 
Set objFileToRead = Nothing 
+1

ne pas répondre à la question. –

Questions connexes