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 :

Suppression pdf dont le commence par


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 43
    Par défaut Suppression pdf dont le commence par
    Bonjour,
    j'ai un problème qui m'énerve en vbs. En gros je souhaite pouvoir supprimer un fichier pdf dans le même dossier que mon script VB dont le nom commence par"suviclient". Je lui demande en amont de la suppression, de vérifier si ce fichier existe. Il ne le trouve jamais ou ne les trouve jamais donc les fichiers ne se suppriment pas :/ Voci mon code
    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
     
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")
    Dim nomfichier : nomfichier = "SuviClient*"
     Dim lieufichier: lieufichier = "D:\PARTAGES_LIMITES\RAPPORTS_filou\Rapports v2\jean-claude\" & nomfichier  
     
     If fso.FileExists(lieufichier) > 0 Then ' j'ai aussi tester sans le >0
     
                    fso.deletefile lieufichier
                    wscript.echo " [OK] Le fichier à été supprimé!"
            Else
     
                    wscript.echo " [  ] Le fichier n'existe pas!"
    End If
     
    Set fso = Nothing
    Je bloque vraiment , si quelqu'un à une idée
    cordialement,

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If fso.FileExists(lieufichier) Then
    la méthode FileExists renvoie une valeur booléenne
    et comme en vbs le transtypage de la valeur True donne -1....
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 43
    Par défaut
    Tout d’abord merci pour ta réponse.
    J’ai essayer en remplaçant >0 par = true mais aussi = false mais aussi par <0 = false. et il ne trouve toujours pas le fichier .
    Du moins il ne le supprime pas je pence ça coince au niveau de " suiviclient*"
    Franchement je suis débutant en VBS si tu pouvais m'éclairer ^^
    J'ai testé ça également, qui supprime mais si le fichier n'existe pas message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Const DeleteReadOnly = True
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile("D:\PARTAGES_LIMITES\RAPPORTS\Rappo\jean-claude\*.pdf"), DeleteReadOnly

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 43
    Par défaut Réponse
    Si ça peux aider, je me suis fait aidé et une solution qui fonctionne:

    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
    drap = 0
    nomfichier = "SuviClient"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder("D:\PARTAGES_LIMITES\RAPPORTS_filou\Rapports v2\jean-claude\")
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
     'Wscript.Echo objFile.Name, objFile.Size
    if left(objFile.Name,10) = nomfichier then 
    objFile.delete
    drap = 1
    exit for
    end if
    Next
    if drap = 1 then 
    Wscript.Echo "fichier" & objFile.Name & "trouvé et supprimer"
    else
    Wscript.Echo "fichier non trouvé"
    end if

  5. #5
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    oops, je n'avais pas remarqué que tu avais utilisé un caractère générique * dans ton 1er exemple.
    il n'est pas supporté par la méthode FileExists
    ton dernier exemple est la technique classique pour contourner cette limitation
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 43
    Par défaut c'est pas possible....
    A ma grande surprise...
    j'avais créer un fichier à chaque fois.
    Or lorsque' ils sont plusieurs autrement dit "suviclient de xxxxx" & "suiviclient de yyyyyy"
    ça n'en supprime qu'un il faut relancer le script à chaque fois... Tu n'as pas une idée d'ou ça provient :/

  7. #7
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if left(objFile.Name,10) = nomfichier then 
    objFile.delete
    drap = 1
    exit for
    end if
    le code fait très exactement ce que tu lui demandes
    pourquoi quitter la boucle avec exit for si tu veux supprimer tous les fichiers ?
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/11/2007, 09h55
  2. Réponses: 2
    Dernier message: 07/06/2007, 15h14
  3. Recherche de fichiers dont le nom commence par..
    Par ValyGator dans le forum C++
    Réponses: 4
    Dernier message: 22/05/2006, 00h08
  4. Supprimer des tables dont le nom commence par XXX
    Par Escandil dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 11/04/2006, 21h46
  5. Supprimer des tables dont le nom commence par XXX
    Par Escandil dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 06/09/2005, 17h53

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