olivthill | Voici un petit vbscript (copier les lignes dans un fichier (nommé par exemple ce_batch.vbs), et le lancer en cliquant dessus dans Windows Explorer, ou en tappant dans une fenêtre DOS cscript.exe ce_batch.vbs)
Code :
- ' Remplace tous les symboles "titi" dans le fichier "toto.txt"
- ' par le nom du dossier où se trouve "toto.txt"
- Const ForReading = 1, ForWriting = 2, ForAppending = 8
- Dim fso, f_in, f_out
- Set fso = CreateObject("Scripting.FileSystemObject" )
- old_string = "titi"
- new_string = fso.GetParentFolderName(fso.GetFile("toto.txt" ))
- ' Wscript.Echo new_string 'Debug
- Set f_in = fso.OpenTextFile("toto.txt", ForReading)
- Set f_out = fso.OpenTextFile("toto_tmp.txt", ForWriting, true)
- Do Until f_in.AtEndOfStream
- txt_line = f_in.ReadLine
- token_pos = Instr(txt_line, old_string)
- If (token_pos > 0) Then
- ' Wscript.Echo token_pos & " " & txt_line 'Debug
- new_txt_line = ""
- If (token_pos > 0) Then
- new_txt_line = Left(txt_line, token_pos - 1)
- End If
- new_txt_line = new_txt_line & new_string
- If (token_pos + Len(old_string) - 1 < Len(txt_line)) Then
- new_txt_line = new_txt_line _
- & Right(txt_line, Len(txt_line) - token_pos - Len(old_string) + 1)
- End If
- txt_line = new_txt_line
- ' Wscript.Echo token_pos & " " & txt_line 'Debug
- End If
- f_out.WriteLine txt_line
- Loop
- f_in.Close
- f_out.Close
- ' Remplace toto.txt par le nouveau fichier toto_tmp_.txt
- fso.DeleteFile "toto.txt", true
- fso.MoveFile "toto_tmp.txt", "toto.txt"
|
|