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 :

Renommage de répertoire fonctionnant sous XP mais pas sous Seven


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 15
    Par défaut Renommage de répertoire fonctionnant sous XP mais pas sous Seven
    Bonjour,

    J'ai créé un script (mon tout premier pour vous donner une idée de mon niveau) qui permet d'installer sur l'ordinateur de l'utilisateur une appli que j'ai développé.

    Voilà ce que fait mon script :
    • Vérifie le dossier source (si pas acces au dossier source, une boite de dialogue s'ouvre et demande où ce situe la source)
    • Vérifie si, dans mes documents, il y a un dossier « ITP APPLICATION – Backup » -> le supprime
    • Vérifie si, dans mes documents, il y a un dossier « ITP APPLICATION » -> le renomme en « ITP APPLICATION – Backup »
    • Créer un dossier « ITP APPLICATION »
    • Copie le dossier source dans celui que je viens de créer
    • Créé un raccourcis sur le bureau.


    Mon script fonctionne nikel sous XP que je le lance une, deux , trois fois ou plus.
    Sous seven, au premier lancement tout est nikel, mais dès le deuxieme lancement, je ne peux pas renommer le dossier en backup… il me met permission refusé.
    Je suppose que pour la troisieme fois ca sera pareil…..

    voilà 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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
     
    Option Explicit
     
    'Déclarations permettant l'utilisation de variables globales (User logged)
    Dim WshShell
    Dim WshSysEnv
     
    Set WshShell = CreateObject("WScript.Shell")
    Set WshSysEnv = WshShell.Environment("PROCESS")
     
    'Déclaration pour l'utilisation des fichiers
    Dim objFSO
    Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
     
    'Déclarations pour utiliser la boite de dialogue d'utilisation d'un dossier
    Const RETURNONLYFSDIRS = &H1
    Const NONEWFOLDERBUTTON = &H200
    Dim oShell
    Dim oFolder, oFolderItem
     
    Set oShell = CreateObject("Shell.Application")
     
    'Variables pour le setup
    Dim DossierInstall
    Dim DossierCible, DossierBackup, sbFold
    Dim File
    Dim WS, strDesktop, oMyShortCut, strMyDocuments
    Dim Prg, Prg1, myFolder
     
    DossierInstall = "R:\Qualite\Qualite project\ITP Application\ITP-INSTALL"
    DossierCible = WshSysEnv("USERPROFILE") & "\Mes documents\ITP APPLICATION"
    DossierBackup = WshSysEnv("USERPROFILE") & "\Mes documents\ITP APPLICATION - BACKUP"
     
    MsgBox WshShell.SpecialFolders("MyDocuments"), vbInformation
     
    '1° Teste si le répertoire source existe.
    If objFSO.FolderExists(DossierInstall) = False Then
        Set oFolder = oShell.BrowseForFolder(&H0&, "Choisir un répertoire", RETURNONLYFSDIRS + NONEWFOLDERBUTTON)
     
        If oFolder Is Nothing Then
            MsgBox "Abandon opérateur", vbCritical
            Wscript.Quit
        Else
            Set oFolderItem = oFolder.Self
            DossierInstall = oFolderItem.Path
        End If
     
        Set oFolderItem = Nothing
        Set oFolder = Nothing
        Set oShell = Nothing
     
    End If
     
    'On fait une installation que si on a quelque chose !!!!
    If objFSO.FolderExists(DossierInstall) Then
     
        '2° Si il y a déjà un BACKUP => suppression
        If objFSO.FolderExists(DossierBackup) Then
            'MsgBox "dossier backup existant, suppression du Backup", vbInformation
            Set myFolder = objFSO.GetFolder(DossierBackup)
     
            'Suppression des fichiers dans le dossier principal
            For Each File In myFolder.Files
                'On verifie qu'ils ne sont pas en lecture seule
                If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
                File.Delete()
            Next
     
            'suppression des sous dossiers et des fichiers qu'il contient
            For Each sbFold In myFolder.SubFolders
                For Each File In sbFold.Files
                    'On verifie qu'ils ne sont pas en lecture seule
                    If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
                    File.Delete()
                Next
            Next
     
            'Suppression du dossier principal
            objFSO.DeleteFolder (DossierBackup)
        End If
     
     
        '3° Si une version a déjà été installée, on en fait un BACKUP (pour pouvoir récupérer la base ou des fichiers exemples ...)
        If objFSO.FolderExists(DossierCible) Then
            'MsgBox "dossier cible existant, Création d'un Backup", vbInformation
            Set myFolder = objFSO.GetFolder(DossierCible)
            myFolder.Name = "ITP APPLICATION - BACKUP"
        End If
     
        '4° On créé le répertoire de destination
        'MsgBox "Création du dossier cible", vbInformation
        objFSO.CreateFolder (DossierCible)
     
        '3° Créer ou copier directement le dossier ITP-Application
        'MsgBox "Copie des fichiers", vbInformation
        objFSO.CopyFolder DossierInstall, DossierCible
     
        '4° Créer un raccourcis vers le bureau
        MsgBox "Création des raccourcis bureau", vbInformation
        MsgBox DossierCible, vbInformation
        Prg = WshSysEnv("USERPROFILE") & "\Mes documents\ITP APPLICATION\ITP-EXCEL.xlsm"
        Prg1 = WshSysEnv("USERPROFILE") & "\Mes documents\ITP APPLICATION\ITP-EXCEL.xlsm"
     
        myFolder = WshShell.SpecialFolders("DeskTop")
     
        On Error Resume Next
                If Err Then MsgBox Err.Description
     
        strDesktop = myFolder
        Prg1 = Left(Prg1, InStrRev(Prg1, "\"))
        Prg = Right(Prg, Len(Prg) - InStrRev(Prg, "\"))
        Set oMyShortCut = WshShell.CreateShortcut(strDesktop & "\" & Prg & ".lnk")
        oMyShortCut.TargetPath = WshSysEnv("USERPROFILE") & "\Mes documents\ITP APPLICATION\ITP-EXCEL.xlsm"
        'oMyShortCut.Hotkey = "ALT+CTRL+" & Ucase(Left(prg,1))
        oMyShortCut.WorkingDirectory = Prg1
        oMyShortCut.Save
     
     
        '5° Créer un raccourcis pour access ????
     
        MsgBox "L'application a été installée avec succès", vbInformation
     
     
        ' ######## Nettoyage de l'environnement ########
        Set WshShell = Nothing
        Set objFSO = Nothing
     
    End If
    Wscript.Quit
    Qu'il y a t-il comme différence entre XP et Seven (Je supose que vista fonctionne comme Seven ...)


    Merci pour toute l'aide que vous pourriez m'apporter.

  2. #2
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 15
    Par défaut
    Résolu ...

    Il suffit de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshSysEnv("USERPROFILE") & "\Mes documents\ITP APPLICATION"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.SpecialFolders("MyDocuments") & "\ITP APPLICATION"

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

Discussions similaires

  1. Fonctionne sous Firefox mais pas sous IE.
    Par ploxien dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/03/2007, 11h50
  2. fonction javascript fonctionnant sous firefox mais pas sous IE
    Par calitom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2007, 12h56
  3. Fonctionne sous IE6 mais pas sous Firefox - Help
    Par fma2112 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/06/2006, 08h29
  4. popup fonctionne sous Mozilla mais pas sous IE
    Par pimpmyride dans le forum Langage
    Réponses: 3
    Dernier message: 30/05/2006, 21h45
  5. [JMF] Code fonctionnant sous Linux mais pas sous XP
    Par Monsieur_Max dans le forum Multimédia
    Réponses: 4
    Dernier message: 25/05/2006, 18h57

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