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] Problème avec fin d'instruction attendue


Sujet :

VBScript

  1. #21
    Candidat au Club
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Gestionnaire

    Informations forums :
    Inscription : Juin 2013
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Comme je n'ai aucun caractère entre chaque mot, j'ai mi un espace vide entre guillemet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    arrTmpLine = Split(oText.ReadLine, " ")

  2. #22
    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

    Peux tu mettre une ou deux phrase de ton fichier ouvert avec Set oText = oFSO.OpenTextFile("C:\" & CreateFolder & "\" & CreateFile, ForReading
    Quelle séparateur distingue tes 2 données dans la phrase ?
    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 ← ← 👈

  3. #23
    Candidat au Club
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Gestionnaire

    Informations forums :
    Inscription : Juin 2013
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Je les ai laisser dans l'ordre tel que le script les met dans le fichier sans extension. Il n'y a ni séparateur, ni pont-virgule, etc... Et ce sont QUE des noms de dossier. Dossier Batch, dossier Comptable, Dossier Script, etc...

    Batch
    Comptable
    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
     
    option explicit
     
    'Définition de variable
    Dim foldername, objfso, objrootfolder, objsubfolder, stroutput
     
    'Demande à l'utilisateur l'emplacement du fichier
    foldername = inputbox("Quel dossier voulez-vous scanner ? (C:\)")
     
    'Listage des dossiers et des sous-dossiers
    Set objfso = createobject("scripting.filesystemobject")
    Set objrootfolder = objfso.getfolder(foldername)
    Set objsubfolder = objrootfolder.subfolders
     
    'Boucle de listage
     
    	For Each objrootfolder in objsubfolder
    		stroutput = stroutput & objrootfolder.name
    		stroutput = stroutput &  vbCrLf
    	Next
     
    'Affichage des dossier à l'écran
     
    msgbox stroutput
     
    'Création d'un fichier texte pour stocker les noms des dossiers
     
    Dim CreateFolder, CreateFile, oFSO, oFolder, oText
     
    	CreateFolder = inputbox("Entrez le nom du dossier à créer")
    	CreateFile = inputbox("Entrez le nom du fichier à créer")
     
    		Set oFSO = CreateObject("Scripting.FileSystemObject")
    		Set oFolder = oFSO.CreateFolder("C:\" & CreateFolder)
     
    'Crée le fichier qui contiendra les noms des dossier à partager
     
    		Set oText = oFSO.OpenTextFile("C:\" & CreateFolder & "\" & CreateFile ,8,true)
     
    		oText.WriteLine(stroutput)
     
    'Définition des variables
     
    Const ForReading = 1, ForWriting = 2 
    Const FILE_SHARE = 0, MAXIMUM_CONNECTIONS = 25
    Dim objWMIService, objNewShare, strComputer, arrTmpLine, errReturn
     
    		strComputer = "."
     
    		Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    		Set objNewShare = objWMIService.Get("Win32_Share")
     
    'Ouverture du dossier et création des partages (en boucle jusqu'à la fin du fichier)
     
    		Set oFSO = CreateObject("Scripting.FileSystemObject")
    		Set oText = oFSO.OpenTextFile("C:\" & CreateFolder & "\" & CreateFile, ForReading)
     
    		Do Until oText.AtEndOfStream 
    			arrTmpLine = Split(oText.ReadLine, " ")
    			Wscript.Echo "Partage du répertoire <" & arrTmpLine(0) & "> avec le nom <" &  arrTmpLine(0) & ">"
    			errReturn = objNewShare.Create (arrTmpLine(0), arrTmpLine(0) , FILE_SHARE, MAXIMUM_CONNECTIONS)
    			Wscript.Echo errReturn
    		loop
     
    	oText.Close

  4. #24
    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
    Ligne 57 vide, écris MsgBox oText.ReadLine, vbInformations ,recopies ce que tu vois, donne nous cette phrase.

    vbInformation pas de s à la fin
    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. #25
    Candidat au Club
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Gestionnaire

    Informations forums :
    Inscription : Juin 2013
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Lorsque la msgbox apparaît il est écrit Batch et immédiatement après ça passe à la donnée suivante dans le texte.

    Edit : la donnée suivante apparaît dans le wscript.echo.

  6. #26
    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

    Peux tu ouvrir le fichier C:\" & CreateFolder & "\" & CreateFile avec le bloc note, faire un copier/coller, et nous mettre une ou 2 ligne.
    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 ← ← 👈

  7. #27
    Candidat au Club
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Gestionnaire

    Informations forums :
    Inscription : Juin 2013
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par MateoFalcon Voir le message
    Je les ai laisser dans l'ordre tel que le script les met dans le fichier sans extension. Il n'y a ni séparateur, ni pont-virgule, etc... Et ce sont QUE des noms de dossier. Dossier Batch, dossier Comptable, Dossier Script, etc...

    Batch
    Comptable
    Script
    Comme poster plus haut. Ça change uniquement si le nom des dossier sont différent.

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

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

    Bon du coup, MateoFalcon, pour qu'on t'aide il va falloir qu'on comprenne quelque chose, c'est le contenu(/le format) de ton fichier en Input : celui qui contient les noms des dossiers à partager.

    Effectivement, le code découle du formatage de ce fichier, et on ne peut pas le deviner sans tes explications. (A la limite en invoquant les esprits, mais c'est long, j'ai pas forcément le temps, et puis ça fait peur, tout ça, voilà).

    Dans mon exemple plus haut, c'était un fichier csv avec comme séparateur le caractère ";" entre le chemin et le nom du partage.

    D'après ton code et tes exemples, il semblerait qu'il n'y ait que le nom du dossier, je me trompe?

    Si je ne me trompe pas, voilà un bout de code qui pourrait convenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    STR_ROOT_FOLDER = "C:\chemin\" 'emplacement des répertoires à partager
    Do Until oText.AtEndOfStream 
    	strTmpLine = oText.ReadLine ' Pas besoin de "splitter" si il n'y a qu'une entrée et pas de séparateur
    	Wscript.Echo "Partage du répertoire <" & STR_ROOT_FOLDER & strTmpLine & "> avec le nom <" &  strTmpLine & ">"
    	errReturn = objNewShare.Create (STR_ROOT_FOLDER & strTmpLine, strTmpLine, FILE_SHARE, MAXIMUM_CONNECTIONS)
    	Wscript.Echo errReturn
    loop
    Si ça ne convient pas, reste à toi d'être plus explicite sur ce que tu souhaite faire, comment, et où tu bloques.

    Bonne continuation

Discussions similaires

  1. fin d'instruction attendue(erreur 800A0400 ) en vbscript
    Par regisyves dans le forum VBScript
    Réponses: 4
    Dernier message: 06/06/2010, 22h55
  2. vbs erreur : fin d'instruction attendue
    Par Armadeus dans le forum Windows Vista
    Réponses: 0
    Dernier message: 25/08/2009, 10h28
  3. problème avec instruction "RemoveItem"
    Par audrey_desgres dans le forum Access
    Réponses: 4
    Dernier message: 15/06/2005, 09h26
  4. Problème avec une instruction OUTER /Postgres
    Par Volcomix dans le forum Langage SQL
    Réponses: 14
    Dernier message: 21/04/2004, 16h56

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