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 :

VBScript : Script deplacement enregistrement TV


Sujet :

VBScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut VBScript : Script deplacement enregistrement TV
    Bonjour ! ,
    Je souhaite déplacer certains enregistrement vers mon serveur pour les partager sur le réseau, je me suis donc tourné vers un script VBs. J'ai écrit un script cependant celui-ci ne fait rien et ne généré pourtant aucune erreur .
    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
      Dim fso
      Dim oSourceFolder
      Dim oSubFolder
      Dim oFile
      Dim oFolder
      Dim strFolderName
      Dim i
      Dim destfile
      Dim Ftxt
     
        Set fso = CreateObject("Scripting.FileSystemObject")
     
       'Dossier source des enregitrements 
       strFolderName = "C:\Users\Public\Recorded TV\"
     
       'Dossier de destination
       destfile = "C:\Users\Public\Recorded TV\Sample Media"
     
      Set oFolder = fso.GetFolder(strFolderName)
     
     
                For Each oFile In oFolder.Files
     
                  'Je vérifie que le fichier correspond a mes critères  
                 If (oFile Like (oFolder & "\" & "*_TF1_*.wtv")) Or (oFile Like (oFolder & "\" & "*_M6_*.wtv")) Then
     
                  'Déplacement du fichier
                  Set Ftxt = fso.GetFile(oFile)   
                  Ftxt.Move (destfile & "\" & oFile.Name) 
                End If
     
                Next
    Je pense que ce code est fonctionnel car sinon j'aurais une erreur ?
    merci pour votre aide

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    à première vue je vois rien .. mais rajoute des messages pour suivre le déroulement de ton script ... du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wscript.echo strFolderName

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wscript.echo ofile.Name
    ... à placer aux bons endroits, avant une boucle puis dans la boucle...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    ok je vais essayer avec pour voir ce qui se passe. Ensuite je sais pas si c'est pareille , mais j'ai testé mon code en l'incluant dans une macro de vba et ça marche bizard, je vous tiens au courant merci de m'aider !

    Edit : Alors j'ai essayé d'ajouter les lignes que vous m'avez indiquées à différent endroits en changeant les variables. Cependant dès que je double clique sur l'icône de mon script rien ne se passe, et si je fais "clique droit, ouvrir avec l'invite de commande" et bien il ne se passe toujours rien : j'entrevois la console qui s'ouvre mais elle se ferme instantanément

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    destfile = "C:\Users\Public\Recorded TV\Sample Media"
    Peut être un problème d'espace dans le(s) nom(s) des dossiers.
    Je ne suis pas spécialiste de VBScript, mais il me semble bien avoir lut différentes discussions signalant ce probléme.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par frco9 Voir le message
    ...l'invite de commande" et bien il ne se passe toujours rien : j'entrevois la console qui s'ouvre mais elle se ferme instantanément
    passe en ligne de commande, menu Exécuter puis cmd

    place toi sur le bon dossier (celui qui contient ton vbs ) à grand renfort de
    puis execute ton vbs :

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    Alors :
    J'ai testé l'execution avec la console "cmd" etc mais ça fais rien ci-dessous les lignes de la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Users\Jeremie\Desktop>test.vbs
    C:\Users\Jeremie\Desktop>
    Le plus bizarre c'est que j'ai mis des echo comme vous me l'aviez conseillé donc je devrais au moins avoir le premier voila mon code avec les echo :

    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
     
      Dim fso
      Dim oSourceFolder
      Dim oSubFolder
      Dim oFile
      Dim oFolder
      Dim strFolderName
      Dim i
      Dim destfile
      Dim Ftxt
     
        Set fso = CreateObject("Scripting.FileSystemObject")
     
       strFolderName = "C:\Users\Public\Recorded TV\"
       destfile = "C:\Users\Public\Recorded TV\Sample Media"
    	wscript.echo strFolderName
     
      Set oFolder = fso.GetFolder(strFolderName)
      	wscript.echo oFolder
     
                For Each oFile In oFolder.Files
                  wscript.echo oFile 
                 If (oFile Like (oFolder & "\" & "*_TF1_*.wtv")) Or (oFile Like (oFolder & "\" & "*_M6_*.wtv")) Then
                  'Déplacement du fichier
                  Set Ftxt = fso.GetFile(oFile)   'Fichier origine
                  Ftxt.Move (destfile & "\" & oFile.Name) 'emplacement destination
                End If
     
                Next
    Donc c'est peut être effectivement une histoire d'espace comme la dit ProgElect. Y a t'il un moyen de le contourner ou voyez-vous une autre source au problème

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    peu-être une mauvaise option d'en registré essai :


  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    Désolé, c'est peut etre con mais je sais pas ou la mettre votre commande ! J'execute dans une console dans le bon dossier ?

    Edit : J'ai executer la commande voila ce que j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Microsoft <R> Windows Script Host Version 5.8
    Copyright <C> Microsoft Corporation 1992-2001. Tous droits réservés.
    J'ai essayé de le reexecuter mais ça a rien changé

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    en console

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\Jeremie\Desktop>cscript //D test.vbs

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    plus rapide ^^ voir reponse plus haut

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par frco9 Voir le message
    J'ai executer la commande voila ce que j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Microsoft <R> Windows Script Host Version 5.8
    Copyright <C> Microsoft Corporation 1992-2001. Tous droits réservés.
    J'ai essayé de le reexecuter mais ça a rien changé

  12. #12
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Si le(s) espaces(s) et/ou le(s) nom(s) long(s) peuvent être en causes, cette fonction pourra te rendre service, rien ne coute de faire l’essai.
    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
    Public Function ConvertNomCourt(ChemFic)
    'cette fonction convertie un chemin dossier et fichier en nom long
    'vers un chemin et fichier cours
    'exemple:
    '       C:\PersoFrancis\Utilisation de Scripting\Projet1.vbp
    '       C:\PERSOF~1\UTILIS~1\Projet1.vbp
    Dim f , fs
    Dim T
    Dim Compos, Progra
     
    Set fs = CreateObject("Scripting.FileSystemObject")
    Compos = Split(ChemFic, "\")
    Progra = Compos(0) & "\" 'recuperation de la lettre du disque
    'ajout de la chaine de chaque dossier
    For T = 1 To UBound(Compos) - 1
     Set f = fs.GetFolder(Progra & Compos(T))
     Progra = Progra & f.ShortName & "\"
    Next
    'ajout du nom du fichier
    Set f = fs.GetFile(Progra & Compos(UBound(Compos)))
    Progra = Progra & f.ShortName
    'nettoyage
    Set f = Nothing
    Set fs = Nothing
    ConvertNomCourt = Progra
    End Function
    Illustration de l'utilisaton de la fonction ConvertNomCourt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Msg
    Msg = "Chemin complet à transformer" '<===== addapter
    msgbox Msg  & vbcrlf & "devient:" & vbcrlf & ConvertNomCourt (Msg)
    Motif de l'edit
    Desolé, j'ai corrigé: ConvertNomCourt (Msg) non pas ==> ConvertNomCourt ("Msg")
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    Merci pour la réponse, j'ai ajouter ça au script voila le résultat c'est bon ?

    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
    59
    60
    61
    62
    63
     
     
      Dim fso
      Dim oSourceFolder
      Dim oSubFolder
      Dim oFile
      Dim oFolder
      Dim strFolderName
      Dim i
      Dim destfile
      Dim Ftxt
      Dim sourcenew
      Dim destnew
     
        Set fso = CreateObject("Scripting.FileSystemObject")
     
       strFolderName = "C:\Users\Public\Recorded TV\"
       sourcenew = ConvertNomCourt("strFolderName")
       destfile = "C:\Users\Public\Recorded TV\Sample Media"
       destnew = ConvertNomCourt("destfile")
        wscript.echo strFolderName
     
      Set oFolder = fso.GetFolder(sourcenew)
        wscript.echo oFolder
     
                For Each oFile In oFolder.Files
                  wscript.echo oFile
                 If (oFile Like (oFolder & "\" & "*_TF1_*.wtv")) Or (oFile Like (oFolder & "\" & "*_M6_*.wtv")) Then
                  'Déplacement du fichier
                  Set Ftxt = fso.GetFile(oFile)   'Fichier origine
                  Ftxt.Move (destnew & "\" & oFile.Name) 'emplacement destination
                End If
     
                Next
     
     
     
    Public Function ConvertNomCourt(ChemFic)
    'cette fonction convertie un chemin dossier et fichier en nom long
    'vers un chemin et fichier cours
    'exemple:
    '       C:\PersoFrancis\Utilisation de Scripting\Projet1.vbp
    '       C:\PERSOF~1\UTILIS~1\Projet1.vbp
    Dim f, fs
    Dim T
    Dim Compos, Progra
     
    Set fs = CreateObject("Scripting.FileSystemObject")
    Compos = Split(ChemFic, "\")
    Progra = Compos(0) & "\" 'recuperation de la lettre du disque
    'ajout de la chaine de chaque dossier
    For T = 1 To UBound(Compos) - 1
     Set f = fs.GetFolder(Progra & Compos(T))
     Progra = Progra & f.ShortName & "\"
    Next
    'ajout du nom du fichier
    Set f = fs.GetFile(Progra & Compos(UBound(Compos)))
    Progra = Progra & f.ShortName
    'nettoyage
    Set f = Nothing
    Set fs = Nothing
    ConvertNomCourt = Progra
    End Function
    J'ai testé ce code et malheureusement ça fais toujours rien

  14. #14
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       strFolderName = "C:\Users\Public\Recorded TV\"
       sourcenew = ConvertNomCourt("strFolderName")
       destfile = "C:\Users\Public\Recorded TV\Sample Media"
       destnew = ConvertNomCourt("destfile")
    Là tu passe le nom des variables.
    Il te faut passer le contenu des variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       strFolderName = "C:\Users\Public\Recorded TV\"
       sourcenew = ConvertNomCourt(strFolderName)
       destfile = "C:\Users\Public\Recorded TV\Sample Media"
       destnew = ConvertNomCourt(destfile)
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    Oups , désolé, j'ai modifier mais ça change rien quand je passe le code dans visual basic en mode debuggeur, il bloque a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set f = fs.GetFile(Progra & Compos(UBound(Compos)))
    Je sais pas si ça a quelquechose a voir

  16. #16
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Dans la fonction ajoute cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Progra = Progra & f.ShortName & "\"
    Next
    'ajout du nom du fichier
     
    msgbox Progra & Compos(UBound(Compos)) ' <==== ICI ======
     
    Set f = fs.GetFile(Progra & Compos(UBound(Compos)))
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    J'ai ajouter la ligne et ça m'affiche bien la msgbox avec noté
    C:\Users\Public\RECORD~1~\
    et ensuite j'ai une erreur :

    Script: C:\User\ etc....
    Ligne: 59
    Caract. : 1
    Erreur: Fichier introuvable
    Code: 800A0035
    Source : Erreur d'exécution Microsoft VBScript

  18. #18
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut

    Desolé encor une fois, j'ai revue ma copie
    La fonction
    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
    Public Function ConvertNomCourt(ChemFic, Quoi)
    'si Quoi <> F
    'cette fonction convertie un non de chemin Dossier(s) Long en
    'nom de chemin Dossier(s) cours
    'si Quoi = F
    'cette fonction convertie un non de chemin Dossier(s) et Fichier Long en
    'nom de chemin Dossier(s) et Fichier cours
    Dim f , fs
    Dim T
    Dim Compos, Progra
     
    Set fs = CreateObject("Scripting.FileSystemObject")
    Compos = Split(ChemFic, "\")
    Progra = Compos(0) & "\" 'recuperation de la lettre du disque
    'ajout de la chaine de chaque dossier
    For T = 1 To UBound(Compos) - 1
     Set f = fs.GetFolder(Progra & Compos(T))
     Progra = Progra & f.ShortName & "\"
    Next
     
    if Quoi="F" then
     'ajout du nom du fichier
     Set f = fs.GetFile(Progra & Compos(UBound(Compos)))
     else
     'ajout du nom du dossier le plus profond
     Set f = fs.GetFolder(Progra & Compos(T))
    end if
    Progra = Progra & f.ShortName
     
    'nettoyage
    Set f = Nothing
    Set fs = Nothing
    ConvertNomCourt = Progra
    End Function
    La façon de l'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Msg
    'pour convertire un chemin sans le fichier
    Msg = "C:\PersoFrancis\Utilisation de Scripting" '<===== addapter
    msgbox  Msg  & vbcrlf & "devient:" & vbcrlf & ConvertNomCourt (Msg,"")
    'pour convertire un chemin et son fichier
    Msg = "C:\PersoFrancis\Utilisation de Scripting\Projet1.vbp" '<===== addapter
    msgbox  Msg  & vbcrlf & "devient:" & vbcrlf & ConvertNomCourt (Msg,"F")
    J'ai ajouté un indicateur, Quoi pour la fonction, car dans la premiere mise quelques post plus haut, il fallait que le chemin et le fichier soit soumis, maintenant avec le paramettre Quoi cette fonction peut renvoyer les deux possibilités.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 13
    Points : 2
    Points
    2
    Par défaut
    Bon ba desolé mais ça marche toujours pas ^^ le 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
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     Dim fso
      Dim oSourceFolder
      Dim oSubFolder
      Dim oFile
      Dim oFolder
      Dim strFolderName
      Dim i
      Dim destfile
      Dim Ftxt
      Dim sourcenew
      Dim destnew
     
        Set fso = CreateObject("Scripting.FileSystemObject")
     
       strFolderName = "C:\Users\Public\Recorded TV\"
       sourcenew = ConvertNomCourt (strFolderName,"")
       destfile = "C:\Users\Public\Recorded TV\Sample Media"
       destnew = ConvertNomCourt (destfile,"")
     
        wscript.echo strFolderName
     
      Set oFolder = fso.GetFolder(sourcenew)
        wscript.echo oFolder
     
                For Each oFile In oFolder.Files
                  wscript.echo oFile
                 If (oFile Like (oFolder & "\" & "*_TF1_*.wtv")) Or (oFile Like (oFolder & "\" & "*_M6_*.wtv")) Then
                  'Déplacement du fichier
                  Set Ftxt = fso.GetFile(oFile)   'Fichier origine
                  Ftxt.Move (destnew & "\" & oFile.Name) 'emplacement destination
                End If
     
                Next
     
     
     
    Public Function ConvertNomCourt(ChemFic, Quoi)
    'si Quoi <> F
    'cette fonction convertie un non de chemin Dossier(s) Long en
    'nom de chemin Dossier(s) cours
    'si Quoi = F
    'cette fonction convertie un non de chemin Dossier(s) et Fichier Long en
    'nom de chemin Dossier(s) et Fichier cours
    Dim f , fs
    Dim T
    Dim Compos, Progra
     
    Set fs = CreateObject("Scripting.FileSystemObject")
    Compos = Split(ChemFic, "\")
    Progra = Compos(0) & "\" 'recuperation de la lettre du disque
    'ajout de la chaine de chaque dossier
    For T = 1 To UBound(Compos) - 1
     Set f = fs.GetFolder(Progra & Compos(T))
     Progra = Progra & f.ShortName & "\"
    Next
     
    if Quoi="F" then
     'ajout du nom du fichier
     Set f = fs.GetFile(Progra & Compos(UBound(Compos)))
     else
     'ajout du nom du dossier le plus profond
     Set f = fs.GetFolder(Progra & Compos(T))
    end if
    Progra = Progra & f.ShortName
     
    'nettoyage
    Set f = Nothing
    Set fs = Nothing
    ConvertNomCourt = Progra
    End Function
    J'espère ne pas avoir fais d'erreur

    lorsque j'execute, j'ai la msgbox puis cette erreur

    Script: C:\User\ etc....
    Ligne: 24
    Caract. : 3
    Erreur: Chemin d'accès introuvable
    Code: 800A004C
    Source : Erreur d'exécution Microsoft VBScript

  20. #20
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Set fso = CreateObject("Scripting.FileSystemObject")
     
       strFolderName = "C:\Users\Public\Recorded TV\"
       sourcenew = ConvertNomCourt (strFolderName,"")
     msgbox sourcenew '<====================================
       destfile = "C:\Users\Public\Recorded TV\Sample Media"
       destnew = ConvertNomCourt (destfile,"")
     msgbox destnew '<====================================
    Script: C:\User\ etc....
    Ligne: 24
    Caract. : 3
    pour moi sa tombe sur une ligne blanche, ajoute les 2 lignes msgbox pour au moins savoir si sa beug au niveau de la fonction, si oui, un de tes chemins strFolderName ou destfile n'ai pas valide, car apres plusieurs essais de mon coté, pas de problème.
    Ce qui m'embête le plus pour toi est que
    mais j'ai testé mon code en l'incluant dans une macro de vba et ça marche bizard, je vous tiens au courant merci de m'aider !
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/06/2008, 11h49
  2. Réponses: 3
    Dernier message: 01/03/2007, 10h18
  3. [MySQL] Script qui enregistre une table de db
    Par Tommyl dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/10/2006, 10h30
  4. [VBS]Script d'enregistrement d'un document Word
    Par TomZ dans le forum VBScript
    Réponses: 1
    Dernier message: 22/03/2006, 09h06
  5. [Image]Déplacer/enregistrer une image crée par PHP ?
    Par renaud26 dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 17/03/2006, 15h00

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