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 :

[VBS]Vider un répertoire avec la commande RUNAS


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [VBS]Vider un répertoire avec la commande RUNAS
    Bonjour à tous,

    Voilà, je ne suis pas VBS développeur, et j'ai déjà eu ENORMEMENT de mal à écrire le script ci-dessous et là j'ai besoin de l'aide de quelqu'un qui puisse reprendre mon script pour effectuer la tache suivante:

    Vider le contenu du répertoire c:\winnt\system32\spool\PRINTERS\

    Mon problème est que le compte windows depuis lequel je le fais n'est pas administrateur du poste, c'est pourquoi je dois utiliser la commande RUNAS.

    Je parviens à effacer un fichier, mais comment puis-je effacer tous les fichiers contenus dans le répertoire donné?

    Si quelqu'un me répond, déjà un grand merci, et svp pouvez-vous réécrire le script à partir de mon exemple, car je ne saurais pas adapter votre réponse partielle à ce que j'ai déjà fait.

    visual basic code:--------------------------------------------------------------------------------
    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
     <script LANGUAGE="VBScript">
    'Copyright© 1998. XYZ Productions. All rights reserved.
    '**Start Encode**
    ' Your code goes here.
    '/--> Varibles 
       Dim Fso, File, WshShell
    '/--> Varibles As Objects
        Set WshShell = Createobject("Wscript.Shell")
        Set Fso = CreateObject("Scripting.FileSystemObject")
        File = "c:\test.vbs"
         WshShell.Run "runas /user:USER", 0, True
          WshShell.Sendkeys "PASSWORD"
    '/--> Checks For The File Then If It Exists It deletes It
         If Fso.FileExists(File) Then Fso.DeleteFile(File) End If 
    </SCRIPT>
    --------------------------------------------------------------------------------

  2. #2
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Il faut que le mot de passe et la commande a exécuter soit dans les paramètres du "WshShell.Run"...
    Et il est impossible de combiner WshShell.Run("runas..."), WshShell.SendKeys et Fso.DeleteFile, ils ne peuvent pas partager le même environnement.
    Avant de poser une question, merci de chercher dans les rubriques suivantes:
    FAQ VB
    Tutoriaux VB
    Recherche avancée sur le forum

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par HPJ
    Il faut que le mot de passe et la commande a exécuter soit dans les paramètres du "WshShell.Run"...
    Et il est impossible de combiner WshShell.Run("runas..."), WshShell.SendKeys et Fso.DeleteFile, ils ne peuvent pas partager le même environnement.
    Mais mon script fonctionne pour effacer un fichier... je veux pouvoir vider un répertoire... => effacer plusieurs fichiers.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Salut,

    voici un code qui marche pour effacer tout type de fichier dans un repertoire c:\Rep. A toi de l'adapter pour ton repertoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim ObjShell, Afile, Thefiles
    Set FSo = WScript.CreateObject("Scripting.FileSystemObject")
    set Afolder=FSO.GetFolder("C:\Rep")
    Set TheFiles = Afolder.Files
    On Error Resume Next
    For Each AFile In TheFiles
    AFile.Delete
    Next
    Attention cela n'efface pas les sous-repertoires !!!

Discussions similaires

  1. Réponses: 15
    Dernier message: 14/05/2020, 21h11
  2. Réponses: 0
    Dernier message: 13/07/2010, 12h28
  3. [VBS] Création répertoire avec Propriétaire
    Par stevenhab dans le forum VBScript
    Réponses: 4
    Dernier message: 08/05/2009, 12h24
  4. Réponses: 6
    Dernier message: 05/02/2009, 19h34
  5. [VBS] Tester plusieurs répertoire avec un seul If
    Par Edoxituz dans le forum VBScript
    Réponses: 38
    Dernier message: 25/02/2006, 20h18

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