2010-03-31 4 views
0

Je suis le codeComment faire un fichier batch modifier un fichier texte

Set objFS = CreateObject("Scripting.FileSystemObject") 
strFile = "C:\test\file.txt" 
Set objFile = objFS.OpenTextFile(strFile) 
Do Until objFile.AtEndOfStream 
    strLine = objFile.ReadLine 
    If InStr(strLine,"ex3")> 0 Then 
     strLine = Replace(strLine,"ex3","ex5") 
    End If 
    WScript.Echo strLine 
Loop 

Le strLine remplaçant une partie que je peux me fixer à utiliser avec mes propres fins, mais comment puis-je faire quelque chose comme ça pour qu'il ne nécessite pas le nom du fichier, il modifie simplement tous les fichiers texte dans le document?

+0

Vous pouvez transmettre le nom du fichier en tant que paramètre à votre script. Mais qu'entendez-vous par "édite tous les fichiers texte dans un document"? –

+0

dans le dossier, je tapais la vitesse. Je m'excuse, mais j'applique tous les fichiers texte dans le dossier qui sera dans la ligne "strFile". – William

Répondre

1

vous pouvez le faire comme ça,

strFolder = "c:\myfolder" 
Set objFolder = objFS.GetFolder(strFolder) 
For Each strFile In objFolder.Files 
    strFileName =strFile.Name 
    strFilePath = strFile.Path 
    strFileExt = objFS.GetExtensionName(strFile) 
    If strFileExt = "txt" Then 
     Set objFile = objFS.OpenTextFile(strFile) 
      ' your current code here.. 
     objFile.Close() 
    End If 
Next 
Questions connexes