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 :

Execution commande dos via vbs


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Par défaut Execution commande dos via vbs
    Bonjour, je suis en train de faire un script qui gère les droits ntfs d'utilisateurs sur des dossiers mais j'ai un problème, l'un des dossiers contient des espaces dans son nom et la commande ne veux pas s’exécuter, j'ai essayé le double quote mais cela ne fonctionne pas non plus, si vous avez des solutions a me proposer je suis preneur.

    Voici un extrait de mon code la seule commande qui plante est celle avec la fiche de reglage pour les autres cela 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
    for each objFolder in subfolders
     
    		chemin2 = objFolder.Path
     
    		set shl = createobject("wscript.shell" )
     
    		chemin_3D = """" & chemin2 & "\3D"""
    		chemin_reglage = """" & chemin2 & "\FICHE DE REGLAGE - INSTRUCTION"""
     
    		shl.run "command  /c cacls " & chemin_reglage &"  /E /T /C /P utilisateur:R > c:\ip.txt",0,true
    		shl.run "command  /c cacls "& chemin2 &" /E /P utilisateur:R > c:\ip.txt",0,true
     
    		shl.run "command  /c cacls "& chemin_3D &" /E /T /C /P utilisateur:R > c:\ip.txt",0,true
    		shl.run "command  /c cacls "& chemin2 &"\3D\ARCHIVE /E /T /C /P utilisateur:N > c:\ip.txt",0,true
    		shl.run "command  /c cacls "& chemin2 &"\PLANS /E /T /C /P utilisateur:R > c:\ip.txt",0,true
    next

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Remplace objFolder.Path par objFolder.ShortPath
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Par défaut
    Citation Envoyé par l_autodidacte Voir le message
    Remplace objFolder.Path par objFolder.ShortPath
    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
    Set fsoFolder = CreateObject("Scripting.FileSystemObject")
        Set folder = fsoFolder.GetFolder(suite)
        Set subfolders = folder.SubFolders
     
    	for each objFolder in subfolders
     
    		chemin2 = objFolder.ShortPath
     
                    set shl = createobject("wscript.shell" )
     
    		chemin_3D = """" & chemin2 & "\3D"""
     
    		Dim chemin_reglage
     
    		chemin_reglage = """" & chemin2 & "\FICHE DE REGLAGE - INSTRUCTION"""
     
    		shl.run "command  /c cacls " & chemin_reglage &"  /E /T /C /P jdubillot:R > c:\ip.txt",0,true
    		shl.run "command  /c cacls "& chemin2 &" /E /P jdubillot:R > c:\ip.txt",0,true
                    shl.run "command  /c cacls "& chemin_3D &" /E /T /C /P jdubillot:R > c:\ip.txt",0,true
    		shl.run "command  /c cacls "& chemin2 &"\3D\ARCHIVE /E /T /C /P jdubillot:N > c:\ip.txt",0,true
    		shl.run "command  /c cacls "& chemin2 &"\PLANS /E /T /C /P jdubillot:R > c:\ip.txt",0,true
     
             next
    Cela m'affiche "argument ou procédure d'appel incorrect", cela n'a rien changé :c

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Et si tu fais : chemin2 = fsoFolder.GetFolder(objFolder.Path).ShortPath ?
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Par défaut
    Cela ne change rien... je continu mes test de mon côté si vous avez des idées n’hésitez pas, merci

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    A quel niveau(ligne) se produit l'erreur après la dernière modification ?
    Quel est le message d'erreur ?

    Puis là où il y a chemin2, enlève les guillemets pour n'en laisser qu'un au début et un à la fin tel que : chemin_3D = chemin2 & "\3D" et aussi
    chemin_reglage = chemin2 & "\FICHE DE REGLAGE - INSTRUCTION".

    Cette dernière ligne peut être changée en :chemin_reglage = chemin2 & "\FICHE_DE_REGLAGE_INSTRUCTION" pour éviter d'ajouter au problème d'espace dans le chemin.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/12/2014, 17h08
  2. Réponses: 5
    Dernier message: 24/03/2009, 10h20
  3. Réponses: 2
    Dernier message: 13/06/2008, 19h15
  4. Executer macro excel via VBS
    Par zoubli dans le forum VBScript
    Réponses: 17
    Dernier message: 20/12/2006, 13h00
  5. [Système][Dos] Execution commandes DOS
    Par Machjaghjolu dans le forum API standards et tierces
    Réponses: 18
    Dernier message: 02/01/2006, 21h59

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