Bonjour les forumeurs
Je vais essayer d'expliquer mon probleme de maniere le plus claire possible:
le contexte :
Realiser un script (vbs) pour modifier des netlogons relatifs au mappage d'imprimante réseau,sachant qu'une migration au niveau du serveur d'impression est en cours,mon but consiste a pouvoir via le script modifier les netlogons (9000 fichiers et des brouettes)
Le principe repose donc sur:
La copie de chaque fichier ligne par ligne vers un nouveau repertoire avec en plus un teste relatif au chaine de caractere que contient la ligne.
Je developpe ceci sur une station windows xp pro
Pour rendre plus concret la chose:
copie des fichiers texte ligne par ligne du dossier A vers le dossier B
Et si la ligne contient la chaine de caractere(saisie precedement via inputbox) recherché alors ajouter apres cette ligne:
une nouvelle ligne du genre "netprinter|\\nomserveur\nomimprimante"
Mon stade actuelle:
J'arrive a parcourir le repertoire puis tout les fichier texte du repertoire et ce ligne par ligne cepedant mon probleme reside dans un premier temps dans la recherche de la chaine de caractere précise.
j'ai essayer de me basé sur un code trouvé sur un autre site.
Et dans un second temps j'arrive a copier un fichier complet mais pas juste une ligne par ligne
Voila je pense que tout ne doit pas être trés claire alors je suis dispo pour toute informations supplémentaires
Merci d'avance à ceux qui essayerons de m 'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Option Explicit Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim objFso, objFile,objFolder, strPath, strExt Dim File, Result,ligne,Texte,sChaine 'Répertoire à parcourir strPath = "cheminrepertoire" 'Extension à rechercher strExt = "txt" 'Création du dossier pour la copie Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.CreateFolder("chemindudossierdecopie") Set objFso = CreateObject("Scripting.FileSystemObject") '---------- 'Parcour du répertoire ligne par ligne + affichage '---------- Call ShowFileTxtFolder(strExt) Set objFso = Nothing Function ShowFileTxtFolder (strExt) For Each objFile In objFso.GetFolder(strPath).Files If UCase(objFso.GetExtensionName(objFile.Path)) = UCase(strExt) Then Set File = objFso.OpenTextFile(objfile.Path, ForReading) while Not File.AtEndOfStream ligne = File.Readline 'C'est ici qu'il faut que je rajoute les conditions de test au niveau des caracteres msgbox ligne,,objfile.Path wend File.Close Set File = nothing End if Next End Function
Partager