Batch ou logiciel pour éditer automatiquement un fichier texte

Batch ou logiciel pour éditer automatiquement un fichier texte - Logiciels - Windows & Software

Marsh Posté le 17-11-2005 à 15:06:43    

voila je cherche un petit logiciel ou un batch qui modifie automatiquement un fichier sous Windows XP,je m explique:
je voudrais que par exemple les symboles XX d un fichier nommé Lapin.txt soit remplacé par l'emplacement ou est situé le fichier.
par exemple si le fichier se trouve dans le répertoire C:\Camion , les symboles XX du fichier Lapin.txt seront donc remplacés automatiquement par C:\Camion  
 
vala thx [:itm]


Message édité par Space le 17-11-2005 à 19:49:48

---------------
Ma cinémathèque
Reply

Marsh Posté le 17-11-2005 à 15:06:43   

Reply

Marsh Posté le 17-11-2005 à 15:31:29    

acsr.exe, dispos sur les serveurs citrix et/ou terminal server.

Reply

Marsh Posté le 17-11-2005 à 16:35:12    

euh merci mais impossible de mettre la main sur ce fichier à chaque fois je tombe sur des liens morts ou alors sur la doc [:ddr555]


---------------
Ma cinémathèque
Reply

Marsh Posté le 17-11-2005 à 19:03:36    

up


---------------
Ma cinémathèque
Reply

Marsh Posté le 17-11-2005 à 19:26:45    

sed
perl
...


Message édité par l0ky le 17-11-2005 à 19:26:58
Reply

Marsh Posté le 17-11-2005 à 19:54:50    

euh appmt ce sont des commandes shell sous Linux ou Unix  ?!
je cherche sous Windows merci


---------------
Ma cinémathèque
Reply

Marsh Posté le 17-11-2005 à 20:27:16    

Bloc-notes -> fonction "remplacer" !?? :??:

Reply

Marsh Posté le 17-11-2005 à 20:37:33    

Citation :

Sujet : Batch ou logiciel pour éditer automatiquement un fichier texte


Message édité par Space le 17-11-2005 à 20:38:55

---------------
Ma cinémathèque
Reply

Marsh Posté le 17-11-2005 à 20:44:22    

oups pardon

Reply

Marsh Posté le 17-11-2005 à 20:45:29    

BK ReplaceEm ?

Reply

Marsh Posté le 17-11-2005 à 20:45:29   

Reply

Marsh Posté le 17-11-2005 à 21:47:03    

Space a écrit :

euh appmt ce sont des commandes shell sous Linux ou Unix  ?!
je cherche sous Windows merci


en même temps perl existe sous windows
et de la même manière sed égaement
http://gnuwin32.sourceforge.net/packages/sed.htm
http://www.activestate.com/Products/ActivePerl/
 
de rien

Message cité 1 fois
Message édité par l0ky le 17-11-2005 à 21:47:32
Reply

Marsh Posté le 17-11-2005 à 22:03:39    

Salut,
 
un petit vbscript ?

Reply

Marsh Posté le 17-11-2005 à 22:31:36    

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 :
  1. ' Remplace tous les symboles "titi" dans le fichier "toto.txt"
  2. ' par le nom du dossier où se trouve "toto.txt"
  3. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  4. Dim fso, f_in, f_out
  5. Set fso = CreateObject("Scripting.FileSystemObject" )
  6. old_string = "titi"
  7. new_string = fso.GetParentFolderName(fso.GetFile("toto.txt" ))
  8. ' Wscript.Echo new_string 'Debug
  9. Set f_in = fso.OpenTextFile("toto.txt", ForReading)
  10. Set f_out = fso.OpenTextFile("toto_tmp.txt", ForWriting, true)
  11. Do Until f_in.AtEndOfStream
  12.    txt_line = f_in.ReadLine
  13.    token_pos = Instr(txt_line, old_string)
  14.    If (token_pos > 0) Then
  15.       ' Wscript.Echo token_pos & " " & txt_line 'Debug
  16.       new_txt_line = ""
  17.       If (token_pos > 0) Then
  18.          new_txt_line = Left(txt_line, token_pos - 1)
  19.       End If
  20.       new_txt_line = new_txt_line & new_string
  21.       If (token_pos + Len(old_string) - 1 < Len(txt_line)) Then
  22.          new_txt_line = new_txt_line _
  23.             & Right(txt_line, Len(txt_line) - token_pos - Len(old_string) + 1)
  24.       End If
  25.       txt_line = new_txt_line
  26.       ' Wscript.Echo token_pos & " " & txt_line 'Debug
  27.    End If
  28.    f_out.WriteLine txt_line
  29. Loop
  30. f_in.Close
  31. f_out.Close
  32. ' Remplace toto.txt par le nouveau fichier toto_tmp_.txt
  33. fso.DeleteFile "toto.txt", true
  34. fso.MoveFile "toto_tmp.txt", "toto.txt"

Reply

Marsh Posté le 18-11-2005 à 08:47:48    

olivthill a écrit :

Voici un petit vbscript


 
Ca c'est de la prog dans les règles de l'art ! First quality ! http://www.cheesebuerger.de/images/midi/froehlich/d028.gif
 
Comme quoi, on peut (presque) tout faire quand on sait programmer  
 
:hello:

Reply

Marsh Posté le 18-11-2005 à 13:59:12    

olivthill a écrit :

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)

merci je viens de tester,c'est impeccable :jap:
ce vbscript fonctionne sur tous les Windows 9x,NT ?
 

l0ky a écrit :

en même temps perl existe sous windows
et de la même manière sed égaement
http://gnuwin32.sourceforge.net/packages/sed.htm
http://www.activestate.com/Products/ActivePerl/
 
de rien

oooopppps j avais pas vu......

Message cité 1 fois
Message édité par Space le 18-11-2005 à 14:03:38

---------------
Ma cinémathèque
Reply

Marsh Posté le 18-11-2005 à 14:49:00    

Space a écrit :


ce vbscript fonctionne sur tous les Windows 9x,NT ?


 
VB Script est implémenté dans Internet Explorer... Donc, qui dit IE, dit VB Script !
Mais à une version d'IE, correspond une version de VB Script : http://msdn.microsoft.com/library/ [...] mation.asp
 
A une version de VB Script correspond + ou - certaines fonctionnalités
 
On va dire que tout le monde a au moins IE5.0, donc tout le monde a au moins VB Script 5.0
 
 :hello:

Reply

Marsh Posté le 18-11-2005 à 15:25:07    

ok c'est parfait [:itm]


---------------
Ma cinémathèque
Reply

Marsh Posté le 24-11-2005 à 15:02:43    

me revoilou [:itm]
 
j'aimerais maintenant que la modif se fasse dans un *.reg pour la base de registre.
le problème c'est que dans un *.reg  , le path doit comporter deux antislashs pour qu'il soit pris en compte dans la base de la registre => "C:\\Program Files\\Grosminet\\Titi\\ (et non pas C:\Program Files\Grosminet\Titi\  
 
quelle est la manip à faire pour qu'il y ait ces deux antislashs ?
 
thx


Message édité par Space le 24-11-2005 à 15:14:51

---------------
Ma cinémathèque
Reply

Marsh Posté le 24-11-2005 à 15:08:54    

\\\\ :??:

Reply

Marsh Posté le 24-11-2005 à 15:19:57    

pas compris [:ddr555] ?


---------------
Ma cinémathèque
Reply

Marsh Posté le 24-11-2005 à 15:25:06    

généralement \ est un caractère d'échappement
pour avoir un \ correct il est souvent nécessaire de mettre \\
donc pour \\ il faut mettre \\\\ [:god]

Reply

Marsh Posté le 24-11-2005 à 15:25:36    

Space a écrit :

pas compris [:ddr555] ?


Explication directement à la source  :D  
http://msdn.microsoft.com/library/ [...] acters.asp

Reply

Marsh Posté le 24-11-2005 à 15:53:56    

Citation :

\ Marks the next character as either a special character, a literal, a backreference, or an octal escape. For example, 'n' matches the character 'n'. '\n' matches a newline character. The sequence '\\' matches "\" and '\(' matches "(".

en reprenant le vbscript de Olivthill,il faut faire quelle modification ?
 
j'y connais que dalle en vbscript :/ [:petrus75]


---------------
Ma cinémathèque
Reply

Marsh Posté le 25-11-2005 à 14:09:10    

olivthill a écrit :

Juste après la ligne
 
   new_string = fso.GetParentFolderName(fso.GetFile("toto.txt" ))  
 
ajouter
 
   new_string = replace(new_string, "\", "\\" )
 
(d'ailleurs le reste du programme pourrait être un peu simplifié avec un autre replace au lieu de left et right, mais ce n'est pas la question).


problème résolu une fois de plus par Olivthill :jap: [:itm]
 
http://forum.hardware.fr/hardwaref [...] m#t1252544


---------------
Ma cinémathèque
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed