2010-06-25 3 views
6

Ho una variabile chiamata 'data' che ho bisogno di scrivere in un file di testo chiamato "listfile.txt". Puoi dirmi il codice vbscript per farlo .. e ho bisogno di codice VBScript per la lettura di valore da file di testo "listfile.txt" ancheLeggere e scrivere il valore da un file di testo usando il codice vbscript

+0

possibile duplicato di [Come leggere da un file di testo utilizzando VBScript?] (Http://stackoverflow.com/questions/854975/how -to-read-da-a-text-file-using-vbscript) – Helen

+0

Questa domanda è abbastanza ben trattata in StackOverflow: http://stackoverflow.com/search?q=[vbscript]+read+text+file – Fionnuala

risposta

28

di scrivere

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

parametri OpenTextFile:

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

Per leggere l'intero file

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

Per leggere riga per riga

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

Questo script legge le righe da file di grandi dimensioni e scrive in nuovi file di piccole dimensioni. Duplicherà l'intestazione della prima linea (intestazione) per tutti i file secondari

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

Does non affrontare la domanda. –