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 :

Pb de variables mal définies


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Pb de variables mal définies
    Bonjour à tous,

    n'étant expert VBS, je me tire les peu de cheveux qu'il me reste,
    je suis sur la réalisation d'un script qui doit :

    - Renommer trois dossiers en .old dans C:\Application\projets\

    * année_Interne.old
    * année_Externe.old
    * Mois.old


    - Créer trois dossiers (portant le même nom que les dossiers en .old dans C:\Application\projets\

    * année_Interne
    * année_Externe
    * Mois


    - Copier le contenu de trois dossiers de "E:\Liv\Destination\" dans les trois dossiers que je viens de créer dans C:\Application\projets\

    copier le contenu de "année_Interne"("E:\Liv\Destination\") dans "année_Interne"(C:\Application\projets\)
    copier le contenu de "année_Externe"("E:\Liv\Destination\") dans "année_Externe"(C:\Application\projets\)
    copier le contenu de "Mois"("E:\Liv\Destination\") dans "Mois"(C:\Application\projets\)


    J'ai pas mal de message d'erreurs, je ne maitrise pas les variables, merci pour votre aide.


    Mon script:

    ********************************************************

    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
    Dim PLAQUE
    Dim objFSO,fso,ObjFile,objFolder
    Dim objShell
    Plaque1 = "Interne"
    Plaque2 = "Externe"
    strComputer = "."
     
     
    'Locatisation des dossier d'origine
     
    sPath = "C:\Application\projets\"
     
    'Localisation des dossiers dont le contenu doit être copiés dans les dossiers crées
     
    sPathLiv = "E:\Liv\Destination\"
     
    Sub Rename_Folder
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.MoveFolder "sPath"\année_" & Plaque1 & "" , ""sPath"\année_" & Plaque1 & ".old"
    objFSO.MoveFolder "sPath"\année_" & Plaque2 & "" , ""sPath"\année_" & Plaque2 & ".old"
    objFSO.MoveFolder "sPath"\Mois" , ""sPath"\Mois.old"
     
     
    End sub
     
    Sub Create_Folder
     
    Dim oFSO,oFld 
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFld=oFSO.CreateFolder ("C:\Application\projets\"année_" & Plaque1 & "")
    Set oFld=oFSO.CreateFolder ("C:\Application\projets\"année_" & Plaque2 & "")
    Set oFld=oFSO.CreateFolder ("C:\Application\projets\Mois")
     
    end sub
     
    Sub Copy_Folder
     
    Dim oFSO
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    oFSO.CopyFolder "sPathLiv"\" & strComputer & "\année_" & Plaque1 & "","sPath"\année_" & Plaque1 & ""'
    oFSO.CopyFolder "sPathLiv"\" & strComputer & "\année_" & Plaque2 & "","sPath"\année_" & Plaque2 & ""
    oFSO.CopyFolder "sPathLiv"\" & strComputer & "\Mois","sPath"\Mois"
     
    End sub
     
     
    '---------------------------
    ' Corps su script
    '---------------------------
    Rename_Folder
    Create_Folder
    Copy_Folder

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2011
    Messages : 163
    Par défaut
    Salut !

    Bin tu n'étais pas loin ... juste quelques soucis de "

    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
    Dim PLAQUE
    Dim objFSO,fso,ObjFile,objFolder
    Dim objShell
    Plaque1 = "Interne"
    Plaque2 = "Externe"
    strComputer = "."
     
     
    'Locatisation des dossier d'origine
     
    sPath = "C:\Application\projets\"
     
    'Localisation des dossiers dont le contenu doit être copiés dans les dossiers crées
     
    sPathLiv = "E:\Liv\Destination\"
     
    Sub Rename_Folder
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.MoveFolder sPath & "\année_" & Plaque1 , sPath & "\année_" & Plaque1 & ".old"
    objFSO.MoveFolder sPath & "\année_" & Plaque2 , sPath & "\année_" & Plaque2 & ".old"
    objFSO.MoveFolder sPath & "\Mois" , sPath & "\Mois.old"
     
     
    End sub
     
    Sub Create_Folder
     
    Dim oFSO,oFld 
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFld=oFSO.CreateFolder ("C:\Application\projets\année_" & Plaque1)
    Set oFld=oFSO.CreateFolder ("C:\Application\projets\année_" & Plaque2)
    Set oFld=oFSO.CreateFolder ("C:\Application\projets\Mois")
     
    end sub
     
    Sub Copy_Folder
     
    Dim oFSO
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    oFSO.CopyFolder sPathLiv & "\" & strComputer & "\année_" & Plaque1 , sPath & "\année_" & Plaque1
    oFSO.CopyFolder sPathLiv & "\" & strComputer & "\année_" & Plaque2 , sPath & "\année_" & Plaque2
    oFSO.CopyFolder sPathLiv & "\" & strComputer & "\Mois", sPath & "\Mois"
     
    End sub
     
     
    '---------------------------
    ' Corps su script
    '---------------------------
    Rename_Folder
    Create_Folder
    Copy_Folder

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

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

    Si tu es intéressé, je te propose une évolution du script, avec une écriture du code plus simple facilitant la lecture et l'évolutivité du script, et une (légère) gestion des erreurs lors de la manipulation des dossiers :

    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
    Sub Move_Folder (strOldFolderPath, strNewFolderPath) 'Déplace ou renomme un dossier
    	On Error Resume Next
    	Dim objFSO
    	Set objFSO = CreateObject("Scripting.FileSystemObject")
    	objFSO.MoveFolder strOldFolderPath ,strNewFolderPath
    	If Err.Number <> 0 Then WScript.Echo "Erreur lors du déplacement/renommage du dossier " & strOldFolderPath & " vers " & strNewFolderPath
    	Set objFSO = Nothing
    End Sub
     
    Sub Create_Folder (strNewFolderPath)
    	On Error Resume Next
    	Dim objFSO
    	Set objFSO = CreateObject("Scripting.FileSystemObject")
    	oFSO.CreateFolder strFolderPath
    	If Err.Number <> 0 Then WScript.Echo "Erreur lors de la création du dossier " & strNewFolderPath
    	Set objFSO = Nothing
    End Sub
     
    Sub Copy_Folder (strSourceFolderPath, strTargetFolderPath)
    	On Error Resume Next
    	Dim objFSO
    	Set objFSO = CreateObject("Scripting.FileSystemObject")
    	oFSO.CopyFolder strSourceFolderPath, strTargetFolderPath
    	If Err.Number <> 0 Then WScript.Echo "Erreur lors de la copie du dossier " & strSourceFolderPath & " vers " & strTargetFolderPath
    	Set objFSO = Nothing
    End Sub
     
    '---------------------------
    ' Corps su script
    '---------------------------
    'Locatisation des dossier d'origine
    Const STR_SOURCE_PATH = "C:\Application\projets\"
    'Localisation des dossiers dont le contenu doit être copiés dans les dossiers crées
    Const STR_LIV_PATH = "E:\Liv\Destination\"
     
    Dim arrFolderNames
    Dim strFolderName
     
    arrFolderNames = Array("année_Interne", "année_Externe", "Mois")
     
    For Each strFolderName in arrFolderNames 'Pour chaque nom de dossier présent dans le tableau on effectue les opérations renommage, création, copie
    	Move_Folder STR_SOURCE_PATH & strFolderName, STR_SOURCE_PATH & strFolderName & ".old" 
    	Create_Folder STR_SOURCE_PATH & strFolderName
    	Copy_Folder STR_LIV_PATH & strFolderName,  STR_SOURCE_PATH & strFolderName
    Next
    Bonne continuation.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Merci pour vos réponse
    Merci pour vos réponses,

    Cachlab, j'ai opté pour la solution de pitchalov.

    Lorsque j’exécute le script de pitchalov

    il me sauvegarde bien en .old mes dossiers, mais il me sort une erreur
    lors de la création, et bien sur lors de la copie.

    J'ai cherché mais je bute.

    Merci pour ton aide

    Cordialement

    PAB/31/SAB

  5. #5
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par PAB/31/SAB Voir le message
    Lorsque j’exécute le script de pitchalov, il me sauvegarde bien en .old mes dossiers, mais il me sort une erreur,lors de la création, et bien sur lors de la copie.
    Dans quelle ligne vous avez cette erreur et c'est quoi comme message d'erreur

  6. #6
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 102
    Par défaut Pb de variables mal définies
    Bonjour, hackoofr

    comme je l'explique, l'opération de sauvegarde s'exécute bien (.old)
    mais les autres actions bloquent ?

    Messages erreurs:

    - Erreur lors de la création du dossier C:\Application\Projets\année_Interne

    puis : Erreur lors de la copie du dossiers E:\Liv\Destination\années_interne

    vers C:\Application\projets\années_Interne

    Et cela pour les trois traitements.

    Par contre je ne saurais pas dire avec certitude quelle ligne pose problème ?

    Merci

    PAB/31/SAB

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

Discussions similaires

  1. variable mal reconnue
    Par Félix62 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/05/2007, 19h59
  2. Réponses: 12
    Dernier message: 10/05/2006, 14h02
  3. Problème de variable non définie
    Par Mimi Bulles dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2006, 09h03
  4. [web.xml] rôles de sécurité mal définis
    Par mlequim dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 01/12/2005, 14h50
  5. Réponses: 3
    Dernier message: 12/05/2003, 12h11

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