IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Comment donner le chemin d'un fichier pour l'effacer avec DeleteFile


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Géologue
    Inscrit en
    Septembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Niger

    Informations professionnelles :
    Activité : Géologue
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 38
    Points : 30
    Points
    30
    Par défaut Comment donner le chemin d'un fichier pour l'effacer avec DeleteFile
    Bonjour,

    je suis un débutant, isolé à Arlit dans le Nord Niger ou je travail pour le moment. Donc sans autre ressources que le Net, ce qui est déjà pas mal!!!!

    Je suis sous Win7 (64bits) et je cherche à développer des script pour l'automatisation de WellCAD, un programme que j'utilise tous les jours.

    Après avoir écrit un petit script qui me donne de nouveaux fichier, je cherche à en faire un autre qui me permet d'effacer les anciens (originaux) en fonction de leur nom (avant de réunir les deux ... puis le troisième qui va renommer les nouveaux avec l'ancien nom).

    Je bute à la ligne 43 de mon script. La, impossible d'effacer le fichier. Réponse : Fichier introuvable ... code erreur 800A0035.

    Je ne trouve pas comment donner le chemin de mon fichier ... de manière à pouvoir l'effacer.

    Merci d'avance pour votre aide.
    Topor

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    'Get Application object of the Windows shell.
    Set objShell = WScript.CreateObject("Shell.Application")
     
    'Ask the user to select a folder
    Set obFolder = objShell.BrowseForFolder (0, "Select the folder to process", 1)
     
     
    If NOT obFolder IS Nothing Then
     
    	'Get access to input folder and process it
    	Set FSO = CreateObject("Scripting.FileSystemObject")
    	'récupère dans PATH le "chemin" du fichier
    	'PATH = FSO.GetParentFolderName(wscript.ScriptFullName) & "\"
     
    	'Suprime les anciens fichiers sans _XX à la fin
    	DeleteOldFiles FSO, obFolder.self.Path ',PATH
     
     
    	MsgBox "Finished"
     
    Else
     
    	MsgBox "Canceled"
     
    End If
     
    'Suprime les anciens fichiers sans _XX à la fin
    Sub DeleteOldFiles (FSO, FolderPath) ', PATH)
     
    'Get access to the folder
    	Set obFolder = FSO.GetFolder(FolderPath)
     
    	'Loop on all the files and process each of them
    	For Each obFile In obFolder.Files
     
    		If (StrComp(Right(obFile.Name, 3), "wcl", 1) = 0) AND _
    		   (InStr(1, obFile.Name, "diagraphie", 1) > 0) AND _
    		   (InStr(1, obFile.Name, "_xx", 1) = 0) Then
    		    Wscript.echo obFile.name 'donne le bon nom de fichier
    			Wscript.echo obFolder 'donne le bon chemin mais sans le \ à la fin
     
     
    		FSO.Deletefile(obfile.name) 'réponse : Fichier introuvable ... code erreur 800A0035
    		'ici je crois qu'il me manque qq chose
    		'pour donner le chemin du fichier ... mais je ne trouve pas comment faire ....
    		'et ce répertoire varie pendant le déroulement du script
    		'Faut-il utiliser PATH, si oui comment?
     
    		End If
     
    	Next
     
    	'Loop on all the subfolders and process each of them
    	For Each obSubFolder In obFolder.SubFolders
    		DeleteOldfiles FSO, obSubFolder.Path ',PATH
    	Next
     
    End Sub

  2. #2
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Bonjour,

    Effectivement, le fichier ne se situant pas dans ton répertoire courant, le script ne peut pas le trouver avec seulement son nom. Il faut donc lui donner son chemin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FSO.Deletefile(obfile.path)
    Bonne continuation.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Géologue
    Inscrit en
    Septembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Niger

    Informations professionnelles :
    Activité : Géologue
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 38
    Points : 30
    Points
    30
    Par défaut Merci!
    Manu,
    je te remercie pour ta réponse si rapide ...

    Cela fonctionne! il me reste un autre erreur ... en fait dans le choix des fichiers, mais je devrais m'en sortir.

    du moins j'espère!!!!

    Bonne journée,

    Michel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 05/05/2008, 15h35
  2. Comment attendre la création d'un fichier pour le copier
    Par nicolas2603 dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/03/2008, 11h57
  3. Comment trouver le chemin d'un fichier
    Par melisse dans le forum Langage
    Réponses: 4
    Dernier message: 16/01/2007, 15h43
  4. [C#] Comment donner un chemin relatif ?
    Par qwertz dans le forum C#
    Réponses: 2
    Dernier message: 13/07/2006, 11h59
  5. [VB6] Comment donner un chemin à une image ??
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 20
    Dernier message: 28/04/2006, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo