Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment ouvrir l'explorateur Windows dans un dossier précis avec mon lanceur d'applications écrit en VBScript ?

6 réponses
Avatar
tintin92
Bonjour,

Je viens d'écrire un script en VBS pour me permettre de lancer des
programmes.
Je souhaiterai également ( avec le choix 3 par exemple ) pouvoir ouvrir
l'explorateur Windows dans un dossier précis, disons le répertoire :
"K:\Perso\Images", répertoire qui existe déjà.
Comment faire ?

Toute proposition d'amélioration est également bienvenue.

Merci

Mon VBScript :

' ----------------------------------------------------------
' Lanceur.vbs version 1.0.0
' Script VBS de lancement d'applications
' Tintin92
' ----------------------------------------------------------
Option Explicit

Dim msg, Input
Dim oShell
Dim WshShell, oExec

msg=msg & "------------------------------------------" & VBCRLF
msg=msg & " LANCEUR Version 1.0.0" & VBCRLF
msg=msg & "------------------------------------------" & VBCRLF
msg=msg & " Choix 1 : Lance une invite de commande" & VBCRLF
msg=msg & " Choix 2 : Lance la calculette Windows" & VBCRLF

Input = ""
Input = InputBox( msg,"Lanceur version 1.0.0")

Select Case Input
Case "1"
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C:\ & Dir"

Case "2"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("calc")

Case Else
MsgBox "Saisie erronée"

End Select

6 réponses

Avatar
Paul Atreide
Salut ...

Essayes ca :

...
msg=msg & " Choix 3 : Acces C:tmp" & VBCRLF
...
Case "3"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("explorer C:Tmp")


--

A+
Muad'Dib
"L'ombre de la souris dans la seconde lune"




"tintin92" a écrit dans le message de news:
416c4a2a$0$6931$
Bonjour,

Je viens d'écrire un script en VBS pour me permettre de lancer des
programmes.
Je souhaiterai également ( avec le choix 3 par exemple ) pouvoir ouvrir
l'explorateur Windows dans un dossier précis, disons le répertoire :
"K:PersoImages", répertoire qui existe déjà.
Comment faire ?

Toute proposition d'amélioration est également bienvenue.

Merci

Mon VBScript :

' ----------------------------------------------------------
' Lanceur.vbs version 1.0.0
' Script VBS de lancement d'applications
' Tintin92
' ----------------------------------------------------------
Option Explicit

Dim msg, Input
Dim oShell
Dim WshShell, oExec

msg=msg & "------------------------------------------" & VBCRLF
msg=msg & " LANCEUR Version 1.0.0" & VBCRLF
msg=msg & "------------------------------------------" & VBCRLF
msg=msg & " Choix 1 : Lance une invite de commande" & VBCRLF
msg=msg & " Choix 2 : Lance la calculette Windows" & VBCRLF

Input = ""
Input = InputBox( msg,"Lanceur version 1.0.0")

Select Case Input
Case "1"
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C: & Dir"

Case "2"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("calc")

Case Else
MsgBox "Saisie erronée"

End Select





Avatar
scraper
Bonjour Paul Atreide
(dans news:)
tu nous disais :

Case "3"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("explorer C:Tmp")




Case "3"
Dim objShell
Set objShell=CreaeObject("WScript.Shell")
objShell.Run "C:Temp"

devrait t'emmener au même endroit ;-)



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper

Avatar
tintin92
Bonjour,

Merci à tout ceux qui m'ont répondu.
Maintenant l'explorateur fait presque ce que je veux avec cette commande :

Case "4"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("explorer /e,/select,C:WINNTTemp ")

L'explorateur ouvre le bon dossier avec son affichage par défaut.
Tout est presque parfait.
Pour que tout soit vraiment parfait il faudrait que si un explorateur est
dejà ouvert, il n'en ouvre pas un second, mais mette l'explorateur déjà
ouvert au premier plan en changeant si nécessaire de répertoire.
C'est possible, ou ce n'est pas possible ?

Merci.

Tintin92

Résumé
Cet article énumère les paramètres de ligne de commande que vous pouvez
utiliser avec l'Explorateur Windows (Explorer.exe).
Plus d'informations
Explorer [/n] [/e] [(,)/root,<object>] [/select,<object>]

/n Ouvre une nouvelle fenêtre simple pour la sélection par
défaut
. Il s'agit en général de la racine du pilote sur laquelle
Windows
est installé. Si la fenêtre est déjà ouverte, un
doublon s'ouvre.

/e Ouvre l'Explorateur Windows avec son affichage par défaut.

/root,<object> Ouvre une fenêtre de l'objet spécifié.


/select,<object> Ouvre une fenêtre avec le dossier, le fichier ou
l'application choisie spécifiée.

Exemples :

Exemple 1 : Explorer /select,C:TestDirTestApp.exe

Ouvre une fenêtre avec TestApp sélectionné.

Exemple 2 : Explorer /e,/root,C:TestDirTestApp.exe

Ouvre l'Explorateur en développant C: et en sélectionnant TestApp.

Exemple 3 : Explorer /root,TestSvrTestShare

Ouvre une fenêtre du partage spécifié.

Exemple 4 : Explorer /root,TestSvrTestShare,select,TestApp.exe

Ouvre une fenêtre du partage spécifié avec TestApp
sélectionné.' ----------------------------------------------------------'
Lanceur.vbs version 1.0.0' Script VBS de lancement d'applications'
Tintin92'' ----------------------------------------------------------Option
ExplicitDim msg, InputDim oShellDim WshShell, oExecmsg=msg &
"-----------------------------------------------------" & VBCRLFmsg=msg & "
LANCEUR Version 1.0.0" & VBCRLFmsg=msg &
"-----------------------------------------------------" & VBCRLFmsg=msg & "
Choix 1 : Lance une invite de commande" & VBCRLFmsg=msg & " Choix 2 : Lance
la calculette Windows" & VBCRLFmsg=msg & " Choix 3 : Ouvre Lettre.rtf avec
Write.exe" & VBCRLFmsg=msg & " Choix 4 : Ouvre le dosier C:WINNTTemp " &
VBCRLFInput = ""Input = InputBox( msg,"Lanceur version 1.0.0")Select Case
Input Case "1" Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C: & Dir" Case "2" Set WshShell CreateObject("WScript.Shell") Set oExec = WshShell.Exec("calc") Case
"3" Set WshShell = CreateObject("WScript.Shell") Set oExec WshShell.Exec("write.exe Lettre.rtf") Case "4" Set WshShell CreateObject("WScript.Shell") Set oExec = WshShell.Exec("explorer
/e,/select,C:WINNTTemp ") Case Else MsgBox "Saisie erronée" End
Select
Avatar
Jean
Bonjour,

devrait t'emmener au même endroit ;-)


Pas forcément, les variables TEMP et TMP peuvent être définies sur des répertoires différents ;-)

cf script plus haut:
---bla bla---
Case "3"
Executer "%temp%"
If Valeur_Variable("%temp%")_
<>_
Valeur_Variable("%tmp%") Then _
Executer "%tmp%"
---bla bla---

Amicalement,

Jean - JMST
Belgium

"scraper" a écrit dans le message de news: %
Bonjour Paul Atreide
(dans news:)
tu nous disais :

Case "3"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("explorer C:Tmp")




Case "3"
Dim objShell
Set objShell=CreaeObject("WScript.Shell")
objShell.Run "C:Temp"

devrait t'emmener au même endroit ;-)



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper





Avatar
Jean
Bonjour,

Pour être plus "universel", utilisez les variables d'environnement :

'---8<---Jean - JMST - Belgium---
msg="------------------------------------------"&VbCr&_
" LANCEUR Version 1.0.0"&VbCr&_
"------------------------------------------"&VbCr&_
" Choix 1 : Lance une invite de commande"&VbCr&_
" Choix 2 : Lance la calculette Windows"&VbCr&_
" Choix 3 : Affiche le(s) répertoire(s) temporaire(s)"&VbCr

Select Case InputBox( msg,"Lanceur version 1.0.0","1")
Case ""
Case "1"
Executer "%comspec% /K dir"
Case "2"
Executer "calc.exe"
Case "3"
Executer "%temp%"
If Valeur_Variable("%temp%")_
<>_
Valeur_Variable("%tmp%") Then _
Executer "%tmp%"
Case Else
MsgBox "Saisie erronée"
End Select

Sub Executer(quoi)
CreateObject("WScript.Shell").Run quoi
End Sub

Function Valeur_Variable(quoi)
Valeur_Variable=CreateObject("WScript.Shell")_
.ExpandEnvironmentStrings(quoi)
End Function
'---8<---Jean - JMST - Belgium---

Amicalement,

Jean - JMST
Belgium

"tintin92" a écrit dans le message de news: 416c4a2a$0$6931$
Bonjour,

Je viens d'écrire un script en VBS pour me permettre de lancer des
programmes.
Je souhaiterai également ( avec le choix 3 par exemple ) pouvoir ouvrir
l'explorateur Windows dans un dossier précis, disons le répertoire :
"K:PersoImages", répertoire qui existe déjà.
Comment faire ?

Toute proposition d'amélioration est également bienvenue.

Merci

Mon VBScript :

' ----------------------------------------------------------
' Lanceur.vbs version 1.0.0
' Script VBS de lancement d'applications
' Tintin92
' ----------------------------------------------------------
Option Explicit

Dim msg, Input
Dim oShell
Dim WshShell, oExec

msg=msg & "------------------------------------------" & VBCRLF
msg=msg & " LANCEUR Version 1.0.0" & VBCRLF
msg=msg & "------------------------------------------" & VBCRLF
msg=msg & " Choix 1 : Lance une invite de commande" & VBCRLF
msg=msg & " Choix 2 : Lance la calculette Windows" & VBCRLF

Input = ""
Input = InputBox( msg,"Lanceur version 1.0.0")

Select Case Input
Case "1"
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C: & Dir"

Case "2"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("calc")

Case Else
MsgBox "Saisie erronée"

End Select





Avatar
Jean
Bonjour,

en utilisant l'objet Shell.Application :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/shell.asp

'---8<---Jean - JMST - Belgium---
msg="-----------------------------"&VbCr&_
" LANCEUR"&VbCr&_
"-----------------------------"&VbCr&_
" 1 : Lance une invite de commande"&VbCr&_
" 2 : Lance la calculette Windows"&VbCr&_
" 3 : Affiche le(s) répertoire(s) temporaire(s)"&VbCr&_
" 4 : Affiche le répertoire Windows"&VbCr

Select Case InputBox( msg,"Lanceur version 1.0.0","4")
Case ""
Case "1"
Executer "%comspec% /K dir"
Case "2"
Executer "calc.exe"
Case "3"
Explorer("%temp%")
If Valeur_Variable("%temp%")_
<>_
Valeur_Variable("%tmp%") Then _
Executer "%tmp%"
Case "4"
Explorer("%windir%")
Case Else
MsgBox "Saisie erronée"
End Select

Function Explorer(quoi)
Explorerúlse
For Each w in CreateObject("Shell.Application").Windows
With w
If InStrRev(.FullName,"explorer.exe",-1,1) Then
.Visible=True
While .ReadyState<>4:WScript.Sleep 10:Wend
Activer(.HWND)
.Navigate(Valeur_Variable(quoi))
Explorer=True
Exit For
End If
End With
Next
If Not Explorer Then Executer(quoi)
End Function

Sub Executer(quoi)
CreateObject("WScript.Shell")_
.Run quoi
End Sub

Function Valeur_Variable(quoi)
Valeur_Variable=_
CreateObject("WScript.Shell")_
.ExpandEnvironmentStrings(quoi)
End Function

Sub Activer(quoi)
CreateObject("WScript.Shell")_
.AppActivate(quoi)
End Sub
'---8<---Jean - JMST - Belgium---

Amicalement,

Jean - JMST
Belgium

"tintin92" a écrit dans le message de news: 416cdaeb$0$7912$
Bonjour,

Merci à tout ceux qui m'ont répondu.
Maintenant l'explorateur fait presque ce que je veux avec cette commande :

Case "4"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("explorer /e,/select,C:WINNTTemp ")

L'explorateur ouvre le bon dossier avec son affichage par défaut.
Tout est presque parfait.
Pour que tout soit vraiment parfait il faudrait que si un explorateur est
dejà ouvert, il n'en ouvre pas un second, mais mette l'explorateur déjà
ouvert au premier plan en changeant si nécessaire de répertoire.
C'est possible, ou ce n'est pas possible ?

Merci.

Tintin92

Résumé
Cet article énumère les paramètres de ligne de commande que vous pouvez
utiliser avec l'Explorateur Windows (Explorer.exe).
Plus d'informations
Explorer [/n] [/e] [(,)/root,<object>] [/select,<object>]

/n Ouvre une nouvelle fenêtre simple pour la sélection par
défaut
. Il s'agit en général de la racine du pilote sur laquelle
Windows
est installé. Si la fenêtre est déjà ouverte, un
doublon s'ouvre.

/e Ouvre l'Explorateur Windows avec son affichage par défaut.

/root,<object> Ouvre une fenêtre de l'objet spécifié.


/select,<object> Ouvre une fenêtre avec le dossier, le fichier ou
l'application choisie spécifiée.

Exemples :

Exemple 1 : Explorer /select,C:TestDirTestApp.exe

Ouvre une fenêtre avec TestApp sélectionné.

Exemple 2 : Explorer /e,/root,C:TestDirTestApp.exe

Ouvre l'Explorateur en développant C: et en sélectionnant TestApp.

Exemple 3 : Explorer /root,TestSvrTestShare

Ouvre une fenêtre du partage spécifié.

Exemple 4 : Explorer /root,TestSvrTestShare,select,TestApp.exe

Ouvre une fenêtre du partage spécifié avec TestApp
sélectionné.' ----------------------------------------------------------'
Lanceur.vbs version 1.0.0' Script VBS de lancement d'applications'
Tintin92'' ----------------------------------------------------------Option
ExplicitDim msg, InputDim oShellDim WshShell, oExecmsg=msg &
"-----------------------------------------------------" & VBCRLFmsg=msg & "
LANCEUR Version 1.0.0" & VBCRLFmsg=msg &
"-----------------------------------------------------" & VBCRLFmsg=msg & "
Choix 1 : Lance une invite de commande" & VBCRLFmsg=msg & " Choix 2 : Lance
la calculette Windows" & VBCRLFmsg=msg & " Choix 3 : Ouvre Lettre.rtf avec
Write.exe" & VBCRLFmsg=msg & " Choix 4 : Ouvre le dosier C:WINNTTemp " &
VBCRLFInput = ""Input = InputBox( msg,"Lanceur version 1.0.0")Select Case
Input Case "1" Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C: & Dir" Case "2" Set WshShell > CreateObject("WScript.Shell") Set oExec = WshShell.Exec("calc") Case
"3" Set WshShell = CreateObject("WScript.Shell") Set oExec > WshShell.Exec("write.exe Lettre.rtf") Case "4" Set WshShell > CreateObject("WScript.Shell") Set oExec = WshShell.Exec("explorer
/e,/select,C:WINNTTemp ") Case Else MsgBox "Saisie erronée" End
Select