Aidez UN gro Boulet en VbScript
Fermé
Samymi
-
13 janv. 2004 à 12:26
carbon3 Messages postés 470 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 janvier 2013 - 21 févr. 2008 à 17:29
carbon3 Messages postés 470 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 janvier 2013 - 21 févr. 2008 à 17:29
A voir également:
- Aidez UN gro Boulet en VbScript
- Vbscript download - Télécharger - Édition & Programmation
- Erreur d'exécution microsoft vbscript erreur '800a01a8' ✓ - Forum Programmation
- Problème avec VBScript ✓ - Forum VB / VBA
- Microsoft VBScript - Forum Windows 7
- Pause vbscript ✓ - Forum VB / VBA
20 réponses
Utilisateur anonyme
13 janv. 2004 à 14:06
13 janv. 2004 à 14:06
Bah, et c'est quoi ta question ?
T'es bien parti, la !
Kalamit,
Parle à ma culasse, mon carter est malade. :)
T'es bien parti, la !
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Bah justement jsuis ptete bien parti mais je sai meme pas attribuer une fonction pour chak bouton des box !
Jessaie en vain avec la doc mais jsuis vraiment tro debutant pour comprendre...
Jsuis pa matheux en plus a la base je pete un plomb !
Donkeu jfais koi pour lui kil supprime les *.tmp du repertoire ou du disk et ses sous-repertoires apres avoit cliker sur uui apres confirmation ?
Et kan on clik sur Cancel jfais comment pour kitter ?
Et sur nan ?
PLEASE HELP ME JSUIS UN GROS BOULET DEBUTANT...
Jessaie en vain avec la doc mais jsuis vraiment tro debutant pour comprendre...
Jsuis pa matheux en plus a la base je pete un plomb !
Donkeu jfais koi pour lui kil supprime les *.tmp du repertoire ou du disk et ses sous-repertoires apres avoit cliker sur uui apres confirmation ?
Et kan on clik sur Cancel jfais comment pour kitter ?
Et sur nan ?
PLEASE HELP ME JSUIS UN GROS BOULET DEBUTANT...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
13 janv. 2004 à 15:46
13 janv. 2004 à 15:46
J'ai vraiment du mal à te lire... Pourrais tu faire un effort, stp ? :)
Pour le reste, je vais te mettre sur la voie:
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Pour le reste, je vais te mettre sur la voie:
Dim Res Res = MsgBox ("Vous avez choisi " & S & Chr(13) & "Etes-vous sûre ?" ,vbYesNo + vbQuestion,"Menage des HD" ) Select Case Res Case vbYes 'Traitement nettoyage des disques 'Utilise la fonction system() Case vbNo 'Exit du programme End Select
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Désolé pour mon ecriture...
J'ai toujours ce reflexe d'écrire facon sms pour les forums...
Voir pour tout meme !
Mais je fais l'effort
Merci en tout CAS !!!
J'ai toujours ce reflexe d'écrire facon sms pour les forums...
Voir pour tout meme !
Mais je fais l'effort
Merci en tout CAS !!!
Case vbYes
'Traitement nettoyage des disques
'Utilise la fonction system() ---> Perdu !!!
Case vbNo
'Exit du programme ----> Je voudrais bien savoir ouais
cest koi la fonction qui quitte le script ! Ca me servirai
pour les Cancel aussi !
'Traitement nettoyage des disques
'Utilise la fonction system() ---> Perdu !!!
Case vbNo
'Exit du programme ----> Je voudrais bien savoir ouais
cest koi la fonction qui quitte le script ! Ca me servirai
pour les Cancel aussi !
Utilisateur anonyme
13 janv. 2004 à 16:27
13 janv. 2004 à 16:27
C'est pas system( )... (J'suis encore dans le php) :)
En fait, pour démarrer un executable, il te faut faire:
Kalamit,
Parle à ma culasse, mon carter est malade. :)
En fait, pour démarrer un executable, il te faut faire:
Set shell = WScript.CreateObject("WScript.Shell") //Création d'un objet Shell.run ("%SystemRoot%\system32\cmd32.exe") //Utilisation des proprietés
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Merci cest cool et bon a savoir mais ca ne repond pas a mes attentes ?
Quel est la fonction a mettre pour que lorsque l'on clique sur Cancel ca quitte le script ?
Et il n'ya que ce moyen la pour supprimer les *.tmp d'un repertoire ? Par le Cmd ?
Quel est la fonction a mettre pour que lorsque l'on clique sur Cancel ca quitte le script ?
Et il n'ya que ce moyen la pour supprimer les *.tmp d'un repertoire ? Par le Cmd ?
Utilisateur anonyme
13 janv. 2004 à 16:49
13 janv. 2004 à 16:49
Ben, si tu mets rien, le programme se termine normalement, et ca quitte tout seul !
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Bah nan justement par exemple sur les msgbox du debut quand jappuie sur Cancel ou Ok il passe a la Msg Box d'après!
Avec Cancel jai mit genre "Bah pourquoi tu lances l'assistant?" et bim il passe a la msgBox d'après moi je veux pas je veux qu'il quitte !
Comment kon fait ?
Avec Cancel jai mit genre "Bah pourquoi tu lances l'assistant?" et bim il passe a la msgBox d'après moi je veux pas je veux qu'il quitte !
Comment kon fait ?
Utilisateur anonyme
14 janv. 2004 à 11:05
14 janv. 2004 à 11:05
Re,
Faut que tu gères tes msgbox avec des select case comme je l'ai fait.
Si je clique sur le premier bouton, il se passe ca, si je clique sur l'autre, il se passe ca.
Pour stopper le code, il me semble que c'est End, j'en suis pas sur, vu que c'est pas du vb mais du vbscript.
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Faut que tu gères tes msgbox avec des select case comme je l'ai fait.
Si je clique sur le premier bouton, il se passe ca, si je clique sur l'autre, il se passe ca.
Pour stopper le code, il me semble que c'est End, j'en suis pas sur, vu que c'est pas du vb mais du vbscript.
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Utilisateur anonyme
14 janv. 2004 à 11:09
14 janv. 2004 à 11:09
Apparement, le mot clé stop a l'air de fonctionner...
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Kalamit,
Parle à ma culasse, mon carter est malade. :)
Ouais merci mais jai trouvé pour quitter le script quand tu quitte sur Cancel
Case vbNo ou Case vbCancel
suivi de wscript.quit
JE missione maintenant pour faire en sorte que le script supprime les .tmp ou toute autre fichier a supprimer donc ne servant plus pour le systeme par rapport au repertoire ou au disk ke lon choisit... et donc a tous les repertoires ki en suit...
Kkun sait ?
Case vbNo ou Case vbCancel
suivi de wscript.quit
JE missione maintenant pour faire en sorte que le script supprime les .tmp ou toute autre fichier a supprimer donc ne servant plus pour le systeme par rapport au repertoire ou au disk ke lon choisit... et donc a tous les repertoires ki en suit...
Kkun sait ?
Alors Jai bien avancé aujourdhui et je suis bloké sur un truc :
Dim Wel
Wel = MsgBox ("Bienvenue dans l'assistant" & Chr(13) & "Nettoyage des Disques" ,vbOk + vbInformation, "Ménage des HDD")
Select Case Wel
Case VbOk
Case VbCancel
MsgBox "Bah Pourquoi tu lances l'assistant alors ?", ,"Alala"
wscript.quit
End Select
'---------------------------------------------------------------------------------------------------------------------------
Choice = MsgBox ("Veuillez Choisir" & Chr(13) & "Le disque que vous voulez nettoyer" ,vbOk + vbExclamation, "Ménage des HDD")
Select Case Choice
Case VbOk
Case VbCancel
MsgBox "Bah pourquoi tu lances l'assistant alors ?", ,"Alala"
wscript.quit
End Select
'---------------------------------------------------------------------------------------------------------------------------
Function B(Msg)
On Error Resume Next
Dim a,f,i,w
Set a=WScript.CreateObject("Shell.Application")
Set w=CreateObject("Wscript.Shell")
Set f=a.BrowseForFolder(&H0&,Msg,&h1&)
B=f.ParentFolder.ParseName(f.Title).Path
If Err.Number<>0 Then
B=Null
If f.Title="Desktop" Then B=w.SpecialFolders("Desktop")
i=InStr(f.Title, ":")
If i>0 Then B=Mid(f.Title,i-1,2) & "\"
End If
End Function
'---------------------------------------------------------------------------------------------------------------------------
' CONFIRMATION DU DOSSIER
S=B("Choisissez un répertoire")
If IsNull(S) Then
MsgBox "Sélection Invalide"
Else
Dim Res
Res = MsgBox ("Vous avez choisi " & S & Chr(13) & "Etes-vous sûre ?" ,vbYesNo + vbQuestion,"Ménage des HDD")
Select Case Res
Case VbYes
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile("batch.bat")
With MonFic
.writeline "del /S " & S & "\*.tmp"
.writeline "exit"
End With
Set Shell = WScript.CreateObject("WScript.Shell") 'Création d'un objet
With Shell
.run ("batch.bat") 'Utilisation des proprietés
End With
Case VbNo
MsgBox "Bah Pourquoi tu lances l'assistant alors ?", , "Alala"
wscript.quit
End Select
End IF
Dans la partie en Gras vous voyez ???
Vous voyez donc ke je lui dit de créer un Batch...
Et apres de le lancer
Mais kan il le lance il me dit que Il peut pas lancer le fichier pck il est deja en cours d'utilisation !!!!
?????
Dim Wel
Wel = MsgBox ("Bienvenue dans l'assistant" & Chr(13) & "Nettoyage des Disques" ,vbOk + vbInformation, "Ménage des HDD")
Select Case Wel
Case VbOk
Case VbCancel
MsgBox "Bah Pourquoi tu lances l'assistant alors ?", ,"Alala"
wscript.quit
End Select
'---------------------------------------------------------------------------------------------------------------------------
Choice = MsgBox ("Veuillez Choisir" & Chr(13) & "Le disque que vous voulez nettoyer" ,vbOk + vbExclamation, "Ménage des HDD")
Select Case Choice
Case VbOk
Case VbCancel
MsgBox "Bah pourquoi tu lances l'assistant alors ?", ,"Alala"
wscript.quit
End Select
'---------------------------------------------------------------------------------------------------------------------------
Function B(Msg)
On Error Resume Next
Dim a,f,i,w
Set a=WScript.CreateObject("Shell.Application")
Set w=CreateObject("Wscript.Shell")
Set f=a.BrowseForFolder(&H0&,Msg,&h1&)
B=f.ParentFolder.ParseName(f.Title).Path
If Err.Number<>0 Then
B=Null
If f.Title="Desktop" Then B=w.SpecialFolders("Desktop")
i=InStr(f.Title, ":")
If i>0 Then B=Mid(f.Title,i-1,2) & "\"
End If
End Function
'---------------------------------------------------------------------------------------------------------------------------
' CONFIRMATION DU DOSSIER
S=B("Choisissez un répertoire")
If IsNull(S) Then
MsgBox "Sélection Invalide"
Else
Dim Res
Res = MsgBox ("Vous avez choisi " & S & Chr(13) & "Etes-vous sûre ?" ,vbYesNo + vbQuestion,"Ménage des HDD")
Select Case Res
Case VbYes
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile("batch.bat")
With MonFic
.writeline "del /S " & S & "\*.tmp"
.writeline "exit"
End With
Set Shell = WScript.CreateObject("WScript.Shell") 'Création d'un objet
With Shell
.run ("batch.bat") 'Utilisation des proprietés
End With
Case VbNo
MsgBox "Bah Pourquoi tu lances l'assistant alors ?", , "Alala"
wscript.quit
End Select
End IF
Dans la partie en Gras vous voyez ???
Vous voyez donc ke je lui dit de créer un Batch...
Et apres de le lancer
Mais kan il le lance il me dit que Il peut pas lancer le fichier pck il est deja en cours d'utilisation !!!!
?????
CRO_PROG
Messages postés
5
Date d'inscription
mardi 17 octobre 2006
Statut
Membre
Dernière intervention
24 octobre 2006
17
17 oct. 2006 à 17:39
17 oct. 2006 à 17:39
Salut ca fait peut etre plus de deux ans que cette article est sortie mais je voulais y apporter ma contribution....
pour la source je me suis pencher dessus et je croit que tu peut faire comme ca:
'---------------------------------------------------------------------------------------------------------------------------
' CONFIRMATION DU DOSSIER
S=B("Choisissez un répertoire")
If IsNull(S) Then
MsgBox "Sélection Invalide"
Else
Dim Res
Res = MsgBox ("Vous avez choisi " & S & Chr(13) & "Etes-vous sûre ?" ,vbYesNo + vbQuestion,"Ménage des HDD")
Select Case Res
Case VbYes
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile("batch.bat")
With MonFic
.writeline "cd " & S
.writeline "del /S /F /Q *.tmp"
.writeline "exit"
.close
End With
Set Shell = WScript.CreateObject("WScript.Shell") 'Création d'un objet
With Shell
.run ("batch.bat") 'Utilisation des proprietés
End With
Case VbNo
MsgBox "Bah Pourquoi tu lances l'assistant alors ?", , "Alala"
wscript.quit
End Select
End IF
Comme ca ca marche plus ou moins il faudrait que tu puisse supprimer le batch a la fin :)
si ca ne t'aide pas ca aidera quelqu'un d'autre
Vive la prog
pour la source je me suis pencher dessus et je croit que tu peut faire comme ca:
'---------------------------------------------------------------------------------------------------------------------------
' CONFIRMATION DU DOSSIER
S=B("Choisissez un répertoire")
If IsNull(S) Then
MsgBox "Sélection Invalide"
Else
Dim Res
Res = MsgBox ("Vous avez choisi " & S & Chr(13) & "Etes-vous sûre ?" ,vbYesNo + vbQuestion,"Ménage des HDD")
Select Case Res
Case VbYes
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile("batch.bat")
With MonFic
.writeline "cd " & S
.writeline "del /S /F /Q *.tmp"
.writeline "exit"
.close
End With
Set Shell = WScript.CreateObject("WScript.Shell") 'Création d'un objet
With Shell
.run ("batch.bat") 'Utilisation des proprietés
End With
Case VbNo
MsgBox "Bah Pourquoi tu lances l'assistant alors ?", , "Alala"
wscript.quit
End Select
End IF
Comme ca ca marche plus ou moins il faudrait que tu puisse supprimer le batch a la fin :)
si ca ne t'aide pas ca aidera quelqu'un d'autre
Vive la prog
carbon3
Messages postés
470
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
6 janvier 2013
73
21 févr. 2008 à 17:29
21 févr. 2008 à 17:29
Vive les haltères natives :o)
Du temps est passé depuis, mais j'apporte une solution testée et approuvée par ma bécane
' Si objFolder est bien de type Lettre:\Dossier\Sous_Dossier... pas de problème.
' Mais objFolder peut être de la forme :
' NOM_VOLUME(LETTRE:\)
' ce qui génère donc une erreur de traitement par l'instruction précédente.
' Nous pouvons quand même en extraire un chemin valide :
' Mais, si on choisit Documents de Toto, par exemple...
' C'est un dossier dit virtuel.
' Et la boite de dialogue en propose un certain nombre.
'C'est la bête noire à laquelle je ne trouve pas de solution.
' Ne sachant pas en extraire un PATH valide,il faut les éliminer des possibilités de choix.
' Ils restent accessibles via la racine des disques.
' C'est plus laborieux pour accéder à certains, mais pour l'instant la fin justifie les moyens.
'=======================================================================
' MAIN
'=======================================================================
Du temps est passé depuis, mais j'apporte une solution testée et approuvée par ma bécane
dim objShell dim Racine: Racine = 17 dim objFolder dim FolderPath dim FolderFlag: FolderFlag = 0 dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject") dim lechemin, nbrdel,nbrtemp: nbrtemp=0 function FolderChoice(FolderPath, FolderFlag) Entry = "~= L'HDD Ménage =~" & vbcrlf & vbcrlf & "Suppression des fichiers .tmp" on error resume next FolderFlag = 1 set objShell = CreateObject("Shell.Application") set objFolder = objShell.BrowseForFolder(0, Entry, 0, Racine) if (not objFolder is nothing) then FolderPath = objFolder.ParentFolder.Parsename(objFolder).Path
' Si objFolder est bien de type Lettre:\Dossier\Sous_Dossier... pas de problème.
' Mais objFolder peut être de la forme :
' NOM_VOLUME(LETTRE:\)
' ce qui génère donc une erreur de traitement par l'instruction précédente.
' Nous pouvons quand même en extraire un chemin valide :
charpos=InStr(objFolder.Title, ":") If charpos>0 Then FolderPath=Mid(objFolder.Title,charpos-1,2) & "\"
' Mais, si on choisit Documents de Toto, par exemple...
' C'est un dossier dit virtuel.
' Et la boite de dialogue en propose un certain nombre.
'C'est la bête noire à laquelle je ne trouve pas de solution.
' Ne sachant pas en extraire un PATH valide,il faut les éliminer des possibilités de choix.
' Ils restent accessibles via la racine des disques.
' C'est plus laborieux pour accéder à certains, mais pour l'instant la fin justifie les moyens.
else wscript.quit end if set objFolder = nothing set objShell = nothing end function function BoucleFolder(FolderPath, FolderFlag) if FolderPath="" then if FolderFlag <> 0 then msgbox _ "Nous ne savons pas traiter les dossiers spéciaux..." & vbcrlf &_ "Veuillez passer par la racine du lecteur.", 48, "~= L'HDD Ménage =~" end if FolderChoice FolderPath,FolderFlag BoucleFolder FolderPath,FolderFlag end if End Function function xplor_rep (lechemin, nbrdel) on error resume next 'pour éviter les " Permission : accès refusé ". dim orep, osubrep, ofile set orep = FSO.getfolder(lechemin) set osubrep = orep.subfolders for each ofile in osubrep xplor_rep ofile.path, nbrtemp next dim orepfnd, osubfile, osubfdat, gettemp set orepfnd = FSO.getfolder(lechemin) set osubfile = orepfnd.files for each osubfdat in osubfile gettemp = right(osubfdat, 4) if gettemp = ".tmp" then FSO.DeleteFile look, True nbrdel = nbrdel + 1 end if next end function
'=======================================================================
' MAIN
'=======================================================================
BoucleFolder FolderPath,FolderFlag Res = MsgBox _ ("Les fichiers .tmp vont être supprimés de " & FolderPath & vbcrlf &_ "Etes-vous sûr ?" ,36,"~= HDD Ménage =~") Select Case Res Case VbYes msgbox _ "Cette opération peut prendre plusieurs minutes, selon la taille de votre système..." & _ vbcrlf & vbcrlf & _ "Vous serez averti à la fin du processus",64, "~= L'HDD Ménage =~" xplor_rep FolderPath,nbrtemp msgbox _ nbrtemp & " fichier(s) virtuellement supprimé(s) de " & FolderPath &_ " et ses sous-dossiers." & vbCrLf & vbcrlf &_ "A bientôt.",16,"~= L'HDD Ménage =~" Case vbNo wscript.quit End Select