Bonjour à tous,
Je cherche depuis quelques temps une façon de faire un "simple" rechercher/remplacer dans un fichier, avec un .bat.
J'ai tout d'abord trouvé la commande Switch.exe qui fait ça à merveille... sur mon poste. Le problème c'est qu'elle ne passe pas sur le serveur sur lequel j'en ai besoin.
J'ai le message d'erreur suivant :
"File fichier.txt cannot be written to!"
Après plusieurs tests, je peux dire que ce n'est ni un problème de droit, ni un problème d'accent ou de caractères spéciaux...
J'ai également essayé avec un script vbs (et même Javascript) mais ceux-ci sont également bloqués sur le serveur. Et là, ce n'est pas trop discutable je crois.
Je me suis donc résigné à faire cela directement dans mon .bat, avec une boucle sur chaque ligne du type :
où %%f est le nom de mon fichier provenant d'une autre boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part for /f "delims=" %%l in ('type "%%f"') do ( commandes... )
Le problème est que le ficher que je traite contient un point d'exclamation (!) et mon fichier de sorti ne l'a plus. A part ça, mon rechercher/remplacer est nickel... Je suppose que ça vient du fait que ce "!" est utilisé pour les variables (à cause de setlocal enableDelayedExpansion). Je précise que les "!" dans le fichier d'origine ne peuvent pas être "échappés" car il va y avoir de nouveaux fichiers régulièrement...
Donc pour résumé :
- Une commande telle que switch.exe peut-elle être bloquée sur un serveur ?
- Mon problème de "!" a-t-il une solution ?
- Ai-je une solution alternative à laquelle je n'ai pas pensé ?
Merci à tous
ShigeruM
Partager