Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1129 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  récupérer valeur renvoyée par commande Dos

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

récupérer valeur renvoyée par commande Dos

n°811027
pumpkin031​2
Posté le 30-07-2004 à 12:25:42  profilanswer
 

j'ai trouvé comment exécuter une commande Dos depuis Access.  
Call Shell(Environ$("COMSPEC" ) & " /c c:\>nbtstat -a btw32115" )
 
(cette commande permet de récuperer le nom d'un utilisateur en fonction du n° de sa machine)
 
Mais :
- je ne suis pas certaine que cette façon de proceder fonctionne et que l'instruction  s'execute.
- je ne sais pas comment récupérer la valeur (chaîne de texte) renvoyée par cette commande.  
 
j'ai tenté de la coller dans un fichier texte, mais si ça marche bien dans la fenêtre de commande Dos, ça marche toujours pas depuis access.
Call Shell(Environ$("COMSPEC" ) & " /c c:\>nbtstat -a btw32116 >c:\document\toto.txt" )
 

mood
Publicité
Posté le 30-07-2004 à 12:25:42  profilanswer
 

n°811042
Carbon_14
Posté le 30-07-2004 à 12:34:40  profilanswer
 

c:\>nbtstat ; c'est normal le premier > ou erreur de frappe ?
Vu que c'est un caractère de redirection, vaut mieux le garder pour >c:\document\toto.txt"  
 

n°811189
pumpkin031​2
Posté le 30-07-2004 à 14:39:58  profilanswer
 

c'est pire que ça : je n'y connais rien en commande Dos.
 
quand j'ouvre la fenêtre,  "c:\>" est déjà écris, j'ajoute "nbtstat -a btw32116" et je fais "entrée".
J'essaie maintenant d'executer tout ça depuis access, en VBA, mais visiblement, je m'y prend mal.
 
j'viens d'assayer :
Call Shell(Environ$("COMSPEC" ) & " /c c:\nbtstat -a btw32116 >c:\document\toto.txt" ) , donc sans la 1er >, mais ça marche pas non plus.

n°811260
pumpkin031​2
Posté le 30-07-2004 à 15:23:43  profilanswer
 

J'avance doucement : j'arrive a executer la commande via un fichier .bat :
 
j'ai créé un fichier texte, écris dedans " nbtstat -a btw32116 >c:\document\toto.txt " enregistré, puis chancgé l'extension du fichier en .bat.
ensuite j'appelle le fichier .bat en VBA avec :
Shell Environ$("COMSPEC" ) & " /c C:\Document\test.bat"
 
et ça marche : les infos retournées par la commande Dos sont bien  enregistrées dans c:\document\toto.txt .
Mais, creer un fichier .bat pour chaque demande, puis le supprimer, c'est pas tres propre.
y'aurait pas plus direct ?

n°811350
iAttack
Posté le 30-07-2004 à 16:28:55  profilanswer
 

Shell "cmd.exe /c netstat.exe>c:\merde.txt", vbNormalFocus
 
j'ai testé ca sous excel et ca marche ...


Message édité par iAttack le 30-07-2004 à 16:30:34
n°812893
cvb
Posté le 02-08-2004 à 17:27:04  profilanswer
 

pumpkin0312 a écrit :

j'ai trouvé comment exécuter une commande Dos depuis Access.  
Call Shell(Environ$("COMSPEC" ) & " /c c:\>nbtstat -a btw32115" )
 
(cette commande permet de récuperer le nom d'un utilisateur en fonction du n° de sa machine)
 
Mais :
- je ne suis pas certaine que cette façon de proceder fonctionne et que l'instruction  s'execute.
- je ne sais pas comment récupérer la valeur (chaîne de texte) renvoyée par cette commande.  
 
j'ai tenté de la coller dans un fichier texte, mais si ça marche bien dans la fenêtre de commande Dos, ça marche toujours pas depuis access.
Call Shell(Environ$("COMSPEC" ) & " /c c:\>nbtstat -a btw32116 >c:\document\toto.txt" )

tu veux récupérer quoi ? le nom d'utilisateur ou le nom de sa machine ? je m'écarte un peu, mais tu as les API windows qui te font ca en deux trois temps mouvement ! regarde dans ma signature; tu as celle qu'il te faut ;)

n°812958
pumpkin031​2
Posté le 02-08-2004 à 18:18:02  profilanswer
 

cvb,
Le but est de savoir quel utilisateur est connecté à telle base.
Je ne veux pas passer par un table enregistrant les entrées/sorties des utilisateurs (je ne veux pas qu'ils se sentent fliqués)
Je n'ai donc pas d'autre solution, que d'interroger le fichier .ldb, dans lequel je ne trouve que le n° de machine, (le nom de l'utilisateur étant toujours "admin" )
Mais je ne peux pas connaitre par coeur tous les n° de machine et savoir à quel utilisateur il appartient.
Cette commande Dos, me permet de faire le lien.
 
iAttack,
rien à faire : la fenêtre Dos s'ouvre et se referme tres rapidement : peut-être  trop vite pour que la commande ait le temps de s'executer.  
 
y a t'il un moyen de faire une pause le temps d'executer la commande, avant de refermer la fenêtre ?

n°812959
cvb
Posté le 02-08-2004 à 18:19:49  profilanswer
 

pumpkin0312 a écrit :

cvb,
Le but est de savoir quel utilisateur est connecté à telle base.
Je ne veux pas passer par un table enregistrant les entrées/sorties des utilisateurs (je ne veux pas qu'ils se sentent fliqués)
Je n'ai donc pas d'autre solution, que d'interroger le fichier .ldb, dans lequel je ne trouve que le n° de machine, (le nom de l'utilisateur étant toujours "admin" )
Mais je ne peux pas connaitre par coeur tous les n° de machine et savoir à quel utilisateur il appartient.
Cette commande Dos, me permet de faire le lien.
 
iAttack,
rien à faire : la fenêtre Dos s'ouvre et se referme tres rapidement : peut-être  trop vite pour que la commande ait le temps de s'executer.  
 
y a t'il un moyen de faire une pause le temps d'executer la commande, avant de refermer la fenêtre ?


ok, je ne connais pas ta solution ;)

n°2026883
hfrfc
Bob c'est plus simple à dire..
Posté le 04-10-2010 à 20:44:30  profilanswer
 

pr recuperer la valeur d'execution d une commande dans une variable :
@echo off
setlocal enableextensions
for /f "tokens=*" %%a in (
'VER'
) do (
set myvar=%%a
)
echo/%%myvar%%=%myvar%
pause
endlocal


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  récupérer valeur renvoyée par commande Dos

 

Sujets relatifs
[Excel] récupérer le nbre de feuilles contenues dans un classeur?[ACCESS]Requete COUNT et valeur null
[PHP] Récupérer les infos de l'adresse"Bad Interpretor" pour commande ./configure
Récuperer les coordonnées d'un click sur une image,concatenation + une valeur
[flash] comment récupérer une anim d'un site?récupérer la valeur d'une ligne ...
[JAVA] Récupérer le répertoire d'où est lancé l'appli 
Plus de sujets relatifs à : récupérer valeur renvoyée par commande Dos


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR