Lire un fichier texte et détruire des fichiers [Résolu]

Messages postés
51
Date d'inscription
lundi 2 octobre 2006
Dernière intervention
14 février 2013
- - Dernière réponse : spmsbl
Messages postés
51
Date d'inscription
lundi 2 octobre 2006
Dernière intervention
14 février 2013
- 13 juil. 2012 à 14:45
Bonjour

Je suis débutant en VBS

J'ai besoin de faire un VB Script qui serait capable de lire un fichier texte
qui contient une liste de fichier et de détruire ces fichiers

exemple de mon fichier

c:\temp\1.txt
D:\2.cmd
c:\temp\test\2.txt

Je veux que le script détruise les fichiers un a un

Merci d'avance de votre aide !
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
14393
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 mars 2019
154
3
Merci
Bonjour,

Set FSO = ...
obj.DeleteFile(TEMP_Line)

Question, que représente obj ?
Ne serait-ce pas l'objet FSO qu'il faut utiliser ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
1855
Date d'inscription
jeudi 23 mai 2002
Dernière intervention
24 juin 2018
26
3
Merci
 Bonjour,


Avant de lire ou supprimer un fichier, il est préférable de contrôler son existence.



Option Explicit
Const MyFile = "H:\SCRIPTS\DeleteFile.txt"
Dim objFso, objTextStream
Dim strLine

Set objFso = CreateObject("Scripting.FileSystemObject")
If Not objFso.FileExists(MyFile) Then WScript.Quit
Set objTextStream = objFso.OpenTextFile(MyFile, 1)
  
Do While Not objTextStream.AtEndOfStream
   strLine = Trim(objTextStream.ReadLine)
   If objFso.FileExists(strLine) Then objFso.DeleteFile strLine, True
Loop
objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing 





jean-marc

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_JMO
Messages postés
14393
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 mars 2019
154
0
Merci
Bonjour,

Qu'as-tu essayer ?
FSO ?
Open, Close, Line Input, ... ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry
Messages postés
51
Date d'inscription
lundi 2 octobre 2006
Dernière intervention
14 février 2013
0
Merci
Bonjour

Je suis vraiment débutant en VBS !

j'utilise ceci pour détruire mes objects mais j'ignore comment lire mon fichier et de mettre ça dans une variable

Set obj = CreateObject("Scripting.FileSystemObject")
obj.DeleteFile("C:\Temp\1.txt")

Merci
Commenter la réponse de spmsbl
Messages postés
14393
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 mars 2019
154
0
Merci
Bonjour,

http://www.google.fr/...

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry
Messages postés
51
Date d'inscription
lundi 2 octobre 2006
Dernière intervention
14 février 2013
0
Merci
OK

apres avoir lu le tuto, j'ai écris ce code mais .........ca plante

Ligne: 1
Caract: 12
code:800A0401



Public FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")

Sub Form1_Load()

Dim File As Object
Set File = FSO.OpenTextFile("C:\temp\4.txt", 1, True)

Dim TEMP_Line As String

Do While Not File.AtEndOfStream

TEMP_Line = File.ReadLine

obj.DeleteFile("TEMP_Line")

File.Close

End Sub
Commenter la réponse de spmsbl
Messages postés
14393
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 mars 2019
154
0
Merci
Bonjour,

Tu as fais du VB6 dans VBS, c'est normal.

Pas de Public, ni de type en VBS :
Public FSO As Object
Devient
Dim FSO

Dim TEMP_Line As String
--------
Dim TEMP_Line

Sinon, retire la Sub Form_Load, tu n'en a pas besoin actuellement. (juste la déclaration, pas le code contenu)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry
Messages postés
51
Date d'inscription
lundi 2 octobre 2006
Dernière intervention
14 février 2013
0
Merci
Merci beaucoup NHenry !

Voici mon nouveau code, ca plante avec l'erreur suivante

Ligne:15
Caract:1
Erreur:`Loop` attendu
Code:800A03FB

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")

Set File = FSO.OpenTextFile("C:\temp\4.txt", 1, True)

Dim TEMP_Line

Do While Not File.AtEndOfStream

TEMP_Line = File.ReadLine

obj.DeleteFile("TEMP_Line")

File.Close
Commenter la réponse de spmsbl
Messages postés
14393
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 mars 2019
154
0
Merci
Bonjour,

Mets un Loop avant de fermet le fichier.
Ensuite, si tu fais :
obj.DeleteFile("TEMP_Line")

Tu vas supprimer le fichier portant le nom "TEMP_Line", mais pas le nom du contenu de la variable, retires les "

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry
Messages postés
51
Date d'inscription
lundi 2 octobre 2006
Dernière intervention
14 février 2013
0
Merci
Salut NHenry

Encore un message d'erreur

Ligne:12
Caract:1
Erreur: Objet requis:`obj`

Merci

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")

Set File = FSO.OpenTextFile("C:\temp\4.txt", 1, True)

Dim TEMP_Line

Do While Not File.AtEndOfStream

TEMP_Line = File.ReadLine

obj.DeleteFile(TEMP_Line)

Loop

File.Close
Commenter la réponse de spmsbl
Messages postés
1403
Date d'inscription
mardi 1 mai 2007
Dernière intervention
7 octobre 2012
5
0
Merci
Bonsoir,

Varaible File non déclarée.


[] Ce qui va sans dire. va mieux en le disant.
Commenter la réponse de LIBRE_MAX
Messages postés
51
Date d'inscription
lundi 2 octobre 2006
Dernière intervention
14 février 2013
0
Merci
Merci beaucoup a vous deux NHenry et JMO !!!
Commenter la réponse de spmsbl

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.