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

passer une comande de la console window dans une procédure

7 réponses
Avatar
marc.dufresne
bonjour àtoutes et tous
je voudrais faire un dir (de la console windows) d'un répertoire et ses sous
répertoires mais la commande ne fonctionne jamais j'ai toujours une erreur
de fichier il doit y avoir un pb avec les guillemets, voici ma commande :
dim pathfile as string
pathfile="G:\mes documents\mes images\*.jpg"
Shell("c:\windows\system32\cmd.exe /s /c dir" & PathFile & "/a:a /b /o:s /s
>G:\Mes Documents\Mes images\dir_pics.txt")
merci d'avance pour votre aide

7 réponses

Avatar
Fred
marc.dufresne a écrit :
bonjour àtoutes et tous



Bonjour

je voudrais faire un dir (de la console windows) d'un répertoire et ses sous
répertoires mais la commande ne fonctionne jamais j'ai toujours une erreur
de fichier il doit y avoir un pb avec les guillemets, voici ma commande :
dim pathfile as string
pathfile="G:mes documentsmes images*.jpg"
Shell("c:windowssystem32cmd.exe /s /c dir" & PathFile & "/a:a /b /o:s /s
>G:Mes DocumentsMes imagesdir_pics.txt")
merci d'avance pour votre aide



Essaie ceci :
Shell("c:windowssystem32cmd.exe /s /c dir """ & PathFile & """ /a:a
/b /o:s /s > ""G:Mes DocumentsMes imagesdir_pics.txt""")
Avatar
marc.dufresne
bonjour fred
merci ça fonctionne très bien
j'ai rajouté la petite commande que tu m'avais déjà suggéré CHCP 1252 ce qui
donne :
Shell ("c:windowssystem32cmd.exe /s /c CHCP 1252 | dir """ & PathFile &
""" /a:a /b /o:s /s > ""G:Mes DocumentsMes imagesdir_pics.txt""")
et comme celà mon texte est bien avec tous les accents
je voulais utiliser >
http://jc.bellamy.free.fr/fr/vbsdownload.html#oem2ansi pour transformer mon
fichier texte pour être sur d'avoir tous les accents quelque soit le
système, mais je ne sais pas comment intégrer ce script vbs dans une
procédure vb



bonne journée

"Fred" a écrit dans le message de news:

marc.dufresne a écrit :
bonjour àtoutes et tous



Bonjour

je voudrais faire un dir (de la console windows) d'un répertoire et ses
sous répertoires mais la commande ne fonctionne jamais j'ai toujours une
erreur de fichier il doit y avoir un pb avec les guillemets, voici ma
commande :
dim pathfile as string
pathfile="G:mes documentsmes images*.jpg"
Shell("c:windowssystem32cmd.exe /s /c dir" & PathFile & "/a:a /b /o:s
/s >G:Mes DocumentsMes imagesdir_pics.txt")
merci d'avance pour votre aide



Essaie ceci :
Shell("c:windowssystem32cmd.exe /s /c dir """ & PathFile & """ /a:a /b
/o:s /s > ""G:Mes DocumentsMes imagesdir_pics.txt""")


Avatar
Fred
Dans : news:441b0927$0$26080$,
marc.dufresne disait :
bonjour fred



je voulais utiliser >
http://jc.bellamy.free.fr/fr/vbsdownload.html#oem2ansi pour
transformer mon fichier texte pour être sur d'avoir tous les accents
quelque soit le système, mais je ne sais pas comment intégrer ce
script vbs dans une procédure vb



Bonjour,

Tu peux ouvrir le script avec un éditeur de texte et t'en inspirer pour
faire ton propre programme vb6.
Le script est écrit en VB script. C'est très proche du VB et tu devrais
t'en sortir.
Le principe est assez simple. Il s'agit de mettre en correpondance les
codes OEM et ANSI au moyen d'un tableau.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Jacques93
Bonjour Fred,
Fred a écrit :
Dans : news:441b0927$0$26080$,
marc.dufresne disait :
bonjour fred



je voulais utiliser >
http://jc.bellamy.free.fr/fr/vbsdownload.html#oem2ansi pour
transformer mon fichier texte pour être sur d'avoir tous les accents
quelque soit le système, mais je ne sais pas comment intégrer ce
script vbs dans une procédure vb



Bonjour,

Tu peux ouvrir le script avec un éditeur de texte et t'en inspirer pour
faire ton propre programme vb6.
Le script est écrit en VB script. C'est très proche du VB et tu devrais
t'en sortir.
Le principe est assez simple. Il s'agit de mettre en correpondance les
codes OEM et ANSI au moyen d'un tableau.




Je pense que si JCB a utilisé des tableaux dans ses scripts, c'est du à
l'impossibilité d'appeler les API's à partir des scripts, par contre
avec VB6, on peut appeler directement :

Private Declare Function OemToCharBuff Lib "user32" Alias "OemToCharBuffA" _
(ByVal lpszSrc As String, _
ByVal lpszDst As String, _
ByVal cchDstLength As Long) As Long

Private Declare Function CharToOemBuff Lib "user32" Alias "CharToOemBuffA" _
(ByVal lpszSrc As String, _
ByVal lpszDst As String, _
ByVal cchDstLength As Long) As Long

Non ?

--
Cordialement,

Jacques.
Avatar
marc.dufresne
bonjour à tous

merci pour vos réponses
je vais essayé d'étudierces codes, mais je voulais pour gagner du temps,
avant d'approfondir ce que JCB avait fait, simplement trouver quel code il
faut écrire pour utiliser un srcipt vbs comme par exemple avec la commande
shell pour lancer un exe??

bonne journée


"Jacques93" a écrit dans le message de news:
%23s%
Bonjour Fred,
Fred a écrit :
Dans : news:441b0927$0$26080$,
marc.dufresne disait :
bonjour fred



je voulais utiliser >
http://jc.bellamy.free.fr/fr/vbsdownload.html#oem2ansi pour transformer
mon fichier texte pour être sur d'avoir tous les accents
quelque soit le système, mais je ne sais pas comment intégrer ce
script vbs dans une procédure vb



Bonjour,

Tu peux ouvrir le script avec un éditeur de texte et t'en inspirer pour
faire ton propre programme vb6.
Le script est écrit en VB script. C'est très proche du VB et tu devrais
t'en sortir.
Le principe est assez simple. Il s'agit de mettre en correpondance les
codes OEM et ANSI au moyen d'un tableau.




Je pense que si JCB a utilisé des tableaux dans ses scripts, c'est du à
l'impossibilité d'appeler les API's à partir des scripts, par contre avec
VB6, on peut appeler directement :

Private Declare Function OemToCharBuff Lib "user32" Alias "OemToCharBuffA"
_
(ByVal lpszSrc As String, _
ByVal lpszDst As String, _
ByVal cchDstLength As Long) As Long

Private Declare Function CharToOemBuff Lib "user32" Alias "CharToOemBuffA"
_
(ByVal lpszSrc As String, _
ByVal lpszDst As String, _
ByVal cchDstLength As Long) As Long

Non ?

--
Cordialement,

Jacques.


Avatar
Jacques93
Bonjour marc.dufresne,
marc.dufresne a écrit :
bonjour à tous

merci pour vos réponses
je vais essayé d'étudierces codes, mais je voulais pour gagner du temps,
avant d'approfondir ce que JCB avait fait, simplement trouver quel code il
faut écrire pour utiliser un srcipt vbs comme par exemple avec la commande
shell pour lancer un exe??




Tu peux ajouter une référence à Windows Script Host Object Model
(wshom.ocx), et ensuite :

Private Sub Command1_Click()
Dim wsh As WshShell

Set wsh = New WshShell
wsh.Run "c:MonRepertoireMonScript.vbs", True
MsgBox "Fini"
set wsh = Nothing
End Sub

Nota : le deuxième argument de wsh.Run (ici à True) indique d'attendre
la fin de l'exécution du script, avant de poursuivre le code VB6

--
Cordialement,

Jacques.
Avatar
marc.dufresne
bonjour
excuse je n'avais pas vu qu'il y avait une nouvelle réponse
je te remercie et je vais essayé
bonne journée
"Jacques93" a écrit dans le message de news:

Bonjour marc.dufresne,
marc.dufresne a écrit :
bonjour à tous

merci pour vos réponses
je vais essayé d'étudierces codes, mais je voulais pour gagner du temps,
avant d'approfondir ce que JCB avait fait, simplement trouver quel code
il faut écrire pour utiliser un srcipt vbs comme par exemple avec la
commande shell pour lancer un exe??




Tu peux ajouter une référence à Windows Script Host Object Model
(wshom.ocx), et ensuite :

Private Sub Command1_Click()
Dim wsh As WshShell

Set wsh = New WshShell
wsh.Run "c:MonRepertoireMonScript.vbs", True
MsgBox "Fini"
set wsh = Nothing
End Sub

Nota : le deuxième argument de wsh.Run (ici à True) indique d'attendre la
fin de l'exécution du script, avant de poursuivre le code VB6

--
Cordialement,

Jacques.