"yves cohen" a écrit dans le message de news: | Bonjour,
Bonjour,
| J'ai un fichier texte et je voudrais supprimer un enregistrement | quelle est SVP la fonction ou l'ordre à écrire
Un fichier texte peut être considéré comme une base de données pilotée par exemple avec le driver ODBC Microsoft Text Driver (.txt, .csv). Toutefois, les commandes SQL UPDATE et DELETE pour la mise à jour ou la suppression des enregistrements ne sont pas supportées. Pour supprimer un "enregistrement", il est donc nécessaire de manipuler le fichier texte dans le but de rechercher puis supprimer la ou les lignes désirées.
Pouvez-vous nous préciser les éléments suivants : - format du fichier texte + exemples - critère de suppression (numéro de ligne, chaine de caractères précise, ...) - langage de script (batch, vbscript, ...)
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"yves cohen" <yves@collinedor.com> a écrit dans le message de
news:1159174503.402989.20290@i3g2000cwc.googlegroups.com
| Bonjour,
Bonjour,
| J'ai un fichier texte et je voudrais supprimer un enregistrement
| quelle est SVP la fonction ou l'ordre à écrire
Un fichier texte peut être considéré comme une base de données pilotée
par exemple avec le driver ODBC Microsoft Text Driver (.txt, .csv).
Toutefois, les commandes SQL UPDATE et DELETE pour la mise à jour ou la
suppression des enregistrements ne sont pas supportées. Pour supprimer
un "enregistrement", il est donc nécessaire de manipuler le fichier
texte dans le but de rechercher puis supprimer la ou les lignes
désirées.
Pouvez-vous nous préciser les éléments suivants :
- format du fichier texte + exemples
- critère de suppression (numéro de ligne, chaine de caractères précise,
...)
- langage de script (batch, vbscript, ...)
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"yves cohen" a écrit dans le message de news: | Bonjour,
Bonjour,
| J'ai un fichier texte et je voudrais supprimer un enregistrement | quelle est SVP la fonction ou l'ordre à écrire
Un fichier texte peut être considéré comme une base de données pilotée par exemple avec le driver ODBC Microsoft Text Driver (.txt, .csv). Toutefois, les commandes SQL UPDATE et DELETE pour la mise à jour ou la suppression des enregistrements ne sont pas supportées. Pour supprimer un "enregistrement", il est donc nécessaire de manipuler le fichier texte dans le but de rechercher puis supprimer la ou les lignes désirées.
Pouvez-vous nous préciser les éléments suivants : - format du fichier texte + exemples - critère de suppression (numéro de ligne, chaine de caractères précise, ...) - langage de script (batch, vbscript, ...)
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
yves cohen
"yves cohen" a écrit dans le message de news: | Bonjour,
Bonjour,
| J'ai un fichier texte et je voudrais supprimer un enregistrement | quelle est SVP la fonction ou l'ordre à écrire
Un fichier texte peut être considéré comme une base de données pi lotée par exemple avec le driver ODBC Microsoft Text Driver (.txt, .csv). Toutefois, les commandes SQL UPDATE et DELETE pour la mise à jour ou la suppression des enregistrements ne sont pas supportées. Pour supprimer un "enregistrement", il est donc nécessaire de manipuler le fichier texte dans le but de rechercher puis supprimer la ou les lignes désirées.
Pouvez-vous nous préciser les éléments suivants : - format du fichier texte + exemples - critère de suppression (numéro de ligne, chaine de caractères pr écise, ...) - langage de script (batch, vbscript, ...)
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Bonjour Gilles,
Voici le programme
'Je définis le chemin réseau du fichier a tester fic="ctrl-prem4templogin.bat" 'Ouverture du fichier Set fso = CreateObject ("Scripting.FileSystemObject") Set file = fso.OpenTextFile(fic,1,True) 'Variable detect servira a detecter l'existance de l'occurence dans le fichier detect="0" detect1="0" 'Pour chaque ligne du fichier old_ini, j'execute la procedure ci-dessous Do While file.AtEndOfStream <>True 'Variable ligne contient la ligne en cours ligne = file.Readline 'Si la ligne contient l'occurence recherchee, j'incrémente la variable detect if Instr(1, ligne, "META", 1) > 0 Then detectÞtect+1 end If if (InStr(1, ligne, "toto", 1) or InStr(1, ligne, "test", 1)) > 0 Then detect1Þtect1+1 end If
en fait, je voudrais pouvoir supprimer les lignes qui sont concernées par ces trois occurences dès que je les trouve
Merci
Yves
"yves cohen" <yves@collinedor.com> a écrit dans le message de
news:1159174503.402989.20290@i3g2000cwc.googlegroups.com
| Bonjour,
Bonjour,
| J'ai un fichier texte et je voudrais supprimer un enregistrement
| quelle est SVP la fonction ou l'ordre à écrire
Un fichier texte peut être considéré comme une base de données pi lotée
par exemple avec le driver ODBC Microsoft Text Driver (.txt, .csv).
Toutefois, les commandes SQL UPDATE et DELETE pour la mise à jour ou la
suppression des enregistrements ne sont pas supportées. Pour supprimer
un "enregistrement", il est donc nécessaire de manipuler le fichier
texte dans le but de rechercher puis supprimer la ou les lignes
désirées.
Pouvez-vous nous préciser les éléments suivants :
- format du fichier texte + exemples
- critère de suppression (numéro de ligne, chaine de caractères pr écise,
...)
- langage de script (batch, vbscript, ...)
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Bonjour Gilles,
Voici le programme
'Je définis le chemin réseau du fichier a tester
fic="\ctrl-prem4templogin.bat"
'Ouverture du fichier
Set fso = CreateObject ("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(fic,1,True)
'Variable detect servira a detecter l'existance de l'occurence
dans le fichier
detect="0"
detect1="0"
'Pour chaque ligne du fichier old_ini, j'execute la procedure
ci-dessous
Do While file.AtEndOfStream <>True
'Variable ligne contient la ligne en cours
ligne = file.Readline
'Si la ligne contient l'occurence recherchee, j'incrémente
la variable detect
if Instr(1, ligne, "\META", 1) > 0 Then
detect=detect+1
end If
if (InStr(1, ligne, "toto", 1) or InStr(1, ligne, "test",
1)) > 0 Then
detect1=detect1+1
end If
"yves cohen" a écrit dans le message de news: | Bonjour,
Bonjour,
| J'ai un fichier texte et je voudrais supprimer un enregistrement | quelle est SVP la fonction ou l'ordre à écrire
Un fichier texte peut être considéré comme une base de données pi lotée par exemple avec le driver ODBC Microsoft Text Driver (.txt, .csv). Toutefois, les commandes SQL UPDATE et DELETE pour la mise à jour ou la suppression des enregistrements ne sont pas supportées. Pour supprimer un "enregistrement", il est donc nécessaire de manipuler le fichier texte dans le but de rechercher puis supprimer la ou les lignes désirées.
Pouvez-vous nous préciser les éléments suivants : - format du fichier texte + exemples - critère de suppression (numéro de ligne, chaine de caractères pr écise, ...) - langage de script (batch, vbscript, ...)
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Bonjour Gilles,
Voici le programme
'Je définis le chemin réseau du fichier a tester fic="ctrl-prem4templogin.bat" 'Ouverture du fichier Set fso = CreateObject ("Scripting.FileSystemObject") Set file = fso.OpenTextFile(fic,1,True) 'Variable detect servira a detecter l'existance de l'occurence dans le fichier detect="0" detect1="0" 'Pour chaque ligne du fichier old_ini, j'execute la procedure ci-dessous Do While file.AtEndOfStream <>True 'Variable ligne contient la ligne en cours ligne = file.Readline 'Si la ligne contient l'occurence recherchee, j'incrémente la variable detect if Instr(1, ligne, "META", 1) > 0 Then detectÞtect+1 end If if (InStr(1, ligne, "toto", 1) or InStr(1, ligne, "test", 1)) > 0 Then detect1Þtect1+1 end If
' initialisation des objets set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements strRecords = oFile.ReadAll
' réinitialisation du fichier Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements For Each strRecord In Split (strRecords, VBCrLf) If _ strRecord <> "" And _ InStr (1, strRecord, "META", VBTextCompare) = 0 And _ InStr (1, strRecord, "toto", VBTextCompare) = 0 And _ InStr (1, strRecord, "test", VBTextCompare) = 0 _ Then ' écriture des enregistrements à conserver oFile.WriteLine (strRecord) End If Next
' fermeture du fichier oFile.Close
--- Coupez ici : deleteRecords.vbs ---
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"yves cohen" <yves@collinedor.com> a écrit dans le message de
news:1159182408.042389.216380@b28g2000cwb.googlegroups.com
Bonjour Yves,
| en fait, je voudrais pouvoir supprimer les lignes qui sont concernées
| par ces trois occurences dès que je les trouve
Ci-dessous le script VBScript 'deleteRecords.vbs' :
--- Coupez ici : deleteRecords.vbs ---
Option Explicit
' déclaration des variables
Dim oFs, oFile
Dim strRecords, strRecord
' initialisation des objets
set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier
Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements
strRecords = oFile.ReadAll
' réinitialisation du fichier
Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements
For Each strRecord In Split (strRecords, VBCrLf)
If _
strRecord <> "" And _
InStr (1, strRecord, "\META", VBTextCompare) = 0 And _
InStr (1, strRecord, "toto", VBTextCompare) = 0 And _
InStr (1, strRecord, "test", VBTextCompare) = 0 _
Then
' écriture des enregistrements à conserver
oFile.WriteLine (strRecord)
End If
Next
' fermeture du fichier
oFile.Close
--- Coupez ici : deleteRecords.vbs ---
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
' initialisation des objets set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements strRecords = oFile.ReadAll
' réinitialisation du fichier Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements For Each strRecord In Split (strRecords, VBCrLf) If _ strRecord <> "" And _ InStr (1, strRecord, "META", VBTextCompare) = 0 And _ InStr (1, strRecord, "toto", VBTextCompare) = 0 And _ InStr (1, strRecord, "test", VBTextCompare) = 0 _ Then ' écriture des enregistrements à conserver oFile.WriteLine (strRecord) End If Next
' fermeture du fichier oFile.Close
--- Coupez ici : deleteRecords.vbs ---
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
yves cohen
"yves cohen" a écrit dans le message de news:
Bonjour Yves,
| en fait, je voudrais pouvoir supprimer les lignes qui sont concernées | par ces trois occurences dès que je les trouve
Ci-dessous le script VBScript 'deleteRecords.vbs' :
--- Coupez ici : deleteRecords.vbs ---
Option Explicit
' déclaration des variables Dim oFs, oFile Dim strRecords, strRecord
' initialisation des objets set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements strRecords = oFile.ReadAll
' réinitialisation du fichier Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements For Each strRecord In Split (strRecords, VBCrLf) If _ strRecord <> "" And _ InStr (1, strRecord, "META", VBTextCompare) = 0 And _ InStr (1, strRecord, "toto", VBTextCompare) = 0 And _ InStr (1, strRecord, "test", VBTextCompare) = 0 _ Then ' écriture des enregistrements à conserver oFile.WriteLine (strRecord) End If Next
' fermeture du fichier oFile.Close
--- Coupez ici : deleteRecords.vbs ---
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Merci beaucoup Gilles et à bientôt
Cordialement
Yves
"yves cohen" <yves@collinedor.com> a écrit dans le message de
news:1159182408.042389.216380@b28g2000cwb.googlegroups.com
Bonjour Yves,
| en fait, je voudrais pouvoir supprimer les lignes qui sont concernées
| par ces trois occurences dès que je les trouve
Ci-dessous le script VBScript 'deleteRecords.vbs' :
--- Coupez ici : deleteRecords.vbs ---
Option Explicit
' déclaration des variables
Dim oFs, oFile
Dim strRecords, strRecord
' initialisation des objets
set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier
Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements
strRecords = oFile.ReadAll
' réinitialisation du fichier
Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements
For Each strRecord In Split (strRecords, VBCrLf)
If _
strRecord <> "" And _
InStr (1, strRecord, "\META", VBTextCompare) = 0 And _
InStr (1, strRecord, "toto", VBTextCompare) = 0 And _
InStr (1, strRecord, "test", VBTextCompare) = 0 _
Then
' écriture des enregistrements à conserver
oFile.WriteLine (strRecord)
End If
Next
' fermeture du fichier
oFile.Close
--- Coupez ici : deleteRecords.vbs ---
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
' initialisation des objets set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements strRecords = oFile.ReadAll
' réinitialisation du fichier Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements For Each strRecord In Split (strRecords, VBCrLf) If _ strRecord <> "" And _ InStr (1, strRecord, "META", VBTextCompare) = 0 And _ InStr (1, strRecord, "toto", VBTextCompare) = 0 And _ InStr (1, strRecord, "test", VBTextCompare) = 0 _ Then ' écriture des enregistrements à conserver oFile.WriteLine (strRecord) End If Next
' fermeture du fichier oFile.Close
--- Coupez ici : deleteRecords.vbs ---
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Merci beaucoup Gilles et à bientôt
Cordialement
Yves
Dagor
Bonsoir Gilles,
Si je préfère seulement garder tous les ER et les RT et les noms "toto", "tata", titi", comment dois-je faire
merci
Yves
"Gilles LAURENT" a écrit dans le message de news:
"yves cohen" a écrit dans le message de news:
Bonjour Yves,
| en fait, je voudrais pouvoir supprimer les lignes qui sont concernées | par ces trois occurences dès que je les trouve
Ci-dessous le script VBScript 'deleteRecords.vbs' :
--- Coupez ici : deleteRecords.vbs ---
Option Explicit
' déclaration des variables Dim oFs, oFile Dim strRecords, strRecord
' initialisation des objets set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements strRecords = oFile.ReadAll
' réinitialisation du fichier Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements For Each strRecord In Split (strRecords, VBCrLf) If _ strRecord <> "" And _ InStr (1, strRecord, "META", VBTextCompare) = 0 And _ InStr (1, strRecord, "toto", VBTextCompare) = 0 And _ InStr (1, strRecord, "test", VBTextCompare) = 0 _ Then ' écriture des enregistrements à conserver oFile.WriteLine (strRecord) End If Next
' fermeture du fichier oFile.Close
--- Coupez ici : deleteRecords.vbs ---
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Bonsoir Gilles,
Si je préfère seulement garder tous les \ER et les \RT et les noms "toto",
"tata", titi", comment dois-je faire
merci
Yves
"Gilles LAURENT" <glsft@free.fr> a écrit dans le message de news:
e7gz0lJ4GHA.836@TK2MSFTNGP02.phx.gbl...
"yves cohen" <yves@collinedor.com> a écrit dans le message de
news:1159182408.042389.216380@b28g2000cwb.googlegroups.com
Bonjour Yves,
| en fait, je voudrais pouvoir supprimer les lignes qui sont concernées
| par ces trois occurences dès que je les trouve
Ci-dessous le script VBScript 'deleteRecords.vbs' :
--- Coupez ici : deleteRecords.vbs ---
Option Explicit
' déclaration des variables
Dim oFs, oFile
Dim strRecords, strRecord
' initialisation des objets
set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier
Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements
strRecords = oFile.ReadAll
' réinitialisation du fichier
Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements
For Each strRecord In Split (strRecords, VBCrLf)
If _
strRecord <> "" And _
InStr (1, strRecord, "\META", VBTextCompare) = 0 And _
InStr (1, strRecord, "toto", VBTextCompare) = 0 And _
InStr (1, strRecord, "test", VBTextCompare) = 0 _
Then
' écriture des enregistrements à conserver
oFile.WriteLine (strRecord)
End If
Next
' fermeture du fichier
oFile.Close
--- Coupez ici : deleteRecords.vbs ---
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
' initialisation des objets set oFs = CreateObject ("Scripting.FileSystemObject")
' ouverture du fichier Set oFile = oFs.OpenTextFile (File, ForReading)
' lecture de tous les enregistrements strRecords = oFile.ReadAll
' réinitialisation du fichier Set oFile = oFs.OpenTextFile (File, ForWriting)
' parcours des enregistrements For Each strRecord In Split (strRecords, VBCrLf) If _ strRecord <> "" And _ InStr (1, strRecord, "META", VBTextCompare) = 0 And _ InStr (1, strRecord, "toto", VBTextCompare) = 0 And _ InStr (1, strRecord, "test", VBTextCompare) = 0 _ Then ' écriture des enregistrements à conserver oFile.WriteLine (strRecord) End If Next
' fermeture du fichier oFile.Close
--- Coupez ici : deleteRecords.vbs ---
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Gilles LAURENT
"Dagor" a écrit dans le message de news:451812d6$0$29485$ | Bonsoir Gilles,
Bonsoir,
| Si je préfère seulement garder tous les ER et les RT et les noms | "toto", "tata", titi", comment dois-je faire
Il suffit de modifier le filtre :
If _ strRecord <> "" And _ InStr (1, strRecord, "ER", VBTextCompare) <> 0 Or _ InStr (1, strRecord, "RT", VBTextCompare) <> 0 Or _ InStr (1, strRecord, "toto", VBTextCompare) <> 0 Or _ InStr (1, strRecord, "tata", VBTextCompare) <> 0 Or _ InStr (1, strRecord, "titi", VBTextCompare) <> 0 _ Then ' écriture des enregistrements à conserver oFile.WriteLine (strRecord) End If
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"Dagor" <dagor@free.fr> a écrit dans le message de
news:451812d6$0$29485$626a54ce@news.free.fr
| Bonsoir Gilles,
Bonsoir,
| Si je préfère seulement garder tous les \ER et les \RT et les noms
| "toto", "tata", titi", comment dois-je faire
Il suffit de modifier le filtre :
If _
strRecord <> "" And _
InStr (1, strRecord, "\ER", VBTextCompare) <> 0 Or _
InStr (1, strRecord, "\RT", VBTextCompare) <> 0 Or _
InStr (1, strRecord, "toto", VBTextCompare) <> 0 Or _
InStr (1, strRecord, "tata", VBTextCompare) <> 0 Or _
InStr (1, strRecord, "titi", VBTextCompare) <> 0 _
Then
' écriture des enregistrements à conserver
oFile.WriteLine (strRecord)
End If
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD