Modifier attribut d'un répertoire en nom long via VBS

fuelcontact Messages postés 4 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 9 février 2006 - 9 févr. 2006 à 12:11
fuelcontact Messages postés 4 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 9 février 2006 - 9 févr. 2006 à 13:55
Bonjour,
Débutant dans le VBS, je cherche à modifier l'attribut d'un répertoire d'une station dont on aura préalablement saisi son nom à travers une INPUTBOX.
Le script fonctionne correctement avec un nom court 8.3, mais dès que je le passe en nom long, il ne fonctionne plus. Je pense me mélanger les pinceaux avec les ".

Voici le script en question :
-------------
Set shl = createobject("wscript.shell")
station=InputBox("N° de la station :","Accès Pléiades")
shl.run ("Command /c attrib -h \"&station&"\C$\Docume~1\AllUse~1\MenuDm~1\Progra~1\Gestio~1")
---------------
Si je passe la ligne avec le nom long :
shl.run ("Command /c attrib -h \"&station&"\C$\Documents and Settings\All Users\Menu Démarrer\Programmes\Gestion des Ressources Humaines")
ça ne passe plus et je n'ai aucun message d'erreur.

Merci de votre aide.

4 réponses

NHenry Messages postés 15143 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 17 juillet 2024 159
9 févr. 2006 à 12:27
Bonjour

Met ton nom de fichier/dossier entre guillemet.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
fuelcontact Messages postés 4 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 9 février 2006
9 févr. 2006 à 13:11
Merci de ta réponse rapide.
J'ai ajouté des doubles guillemets ce qui me donne la ligne suivante :

shl.run ("Command /c attrib -h \"&station&"""\C$\Documents and settings\All Users\Menu Démarrer\Programmes\Gestion des Ressources Humaines""")

Ca ne fonctionne toujours pas. Si je supprime \Gestion des Ressources Humaines, ça fonctionne bien sur tous les sous répertoires précédents (je les ai testé 1 par 1). Dès que je rajoute \Gestion des Ressources Humaines, ça ne passe plus. Il n'y a pas une limite de caractère ?
NHenry Messages postés 15143 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 17 juillet 2024 159
9 févr. 2006 à 13:17
Bonjour

Il y a peut-être une limite à 128 caracères (je pense, mais je doute) or tu les remplis bacilement avec ta ligne.
As-tu un message d'erreur?
Tente d'executer ta ligne à la main.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
fuelcontact Messages postés 4 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 9 février 2006
9 févr. 2006 à 13:55
En tapant la ligne telle quelle sous DOS : pas de Pblm.
J'ai retiré le /C de ma commande afin de voir si j'ai un message d'erreur : il me dit TROP DE PARAMETRES.
J'ai donc mis des noms courts pour le répertoire standard C:\docume~1\alluse~1\menudm~1\progra~1 et j'ai laissé le nom long du répertoire qui m'intéresse et puis voilà, j'en ai marre de me prendre la tête.
Si toutefois quelqu'un à une réponse, à titre d'information, je reste toujours preneur.
En tout cas, merci NHenry pour ton aide.
Rejoignez-nous