Ligne de commande

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
MrFreeze
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 déc. 2019 22:57
Status : Hors ligne

Ligne de commande

#1

Message par MrFreeze »

Bonjour à tous,

je ne parviens pas à transcrire avec la fonction RunWait la ligne de code suivante :

Code : Tout sélectionner

SoundVolumeView.exe /LoadProfile "C:\Users\Mister Freeze\Documents\Enregistrements audio\1.spr
depuis l'invite de commande, elle fonctionne au poil, mais dans mon script, ça cafouille !

j'ai feuilleté les sujets existants, mais mon niveau amateur ne me permet pas de cerner les subtilités... merci pour votre aide !

Mr Freeze
rgx
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 16 nov. 2019 17:53
Status : Hors ligne

Re: Ligne de commande

#2

Message par rgx »

Bonjour,

Plus de précisions sont nécessaires, merci de fournir:
  • Le message d'erreur
  • Le script
L'erreur classique est l'oubli du chemin complet du programme à lancer (c'est écrit dans l'aide).

:wink:
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Ligne de commande

#3

Message par walkson »

Bonjour,
Parfois la commande Run() ne passe pas. Il faut dans ce cas utiliser ShellExecute(), ce qui nous donne:
ShellExecute("monchemin\SoundVolumeView.exe", '/LoadProfile "C:\Users\Mister Freeze\Documents\Enregistrements audio\1.spr"')
notez au niveau des paramètres 'command "chemin" ' le jeu entre les ' (commandes) et les " (chemin)
Essayez aussi ShellExecute() avant ShellExecuteWait() qui peut être bloquant...
Bref, il faut tester et encore tester :P
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
MrFreeze
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 déc. 2019 22:57
Status : Hors ligne

Re: Ligne de commande

#4

Message par MrFreeze »

bonjour & merci

je n'ai pas de message d'erreur, le programme ne se lance pas, simplement.
on peut piloter SoundVolumeView depuis l'invite de commande, dont la ligne que j'ai citée.

voici le script

Code : Tout sélectionner

#include <AutoItConstants.au3>
#include <IE.au3>
#include <StringConstants.au3>
#include <String.au3>
#include <file.au3>
#include <Array.au3>
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

ShellExecute ( "C:\Users\Mister Freeze\Documents\SUCCESS\audacity\A.aup")

While 1 ; contrôle du démarrage de Audacity
Local $iColor = PixelGetColor(299, 70)
;MsgBox($MB_SYSTEMMODAL, "", "La couleur sous forme est: " & Hex($iColor, 6),1)
if  Hex($iColor, 6) = "E04948" Then ExitLoop
WEnd

; chargeons maintenant le profil audio sur SoundVolumeView ;

RunWait (@ComSpec & " /c " & "SoundVolumeView.exe /LoadProfile 'C:\Users\Mister Freeze\Documents\Enregistrements audio\1.spr'")


Dans l'invite de commande, ma ligne fonctionne et charge le profil audio correctement...
Le résultat va vous sauter aux yeux... ça fait depuis 8 mois que j'ai démarré avec Autoit, et j'ai toujours tout trouvé sur le forum sans demander, mais là, je coince vraiment !

Image

Glacialement,
MR Freeze
rgx
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 16 nov. 2019 17:53
Status : Hors ligne

Re: Ligne de commande

#5

Message par rgx »

Bonsoir,

SoundVolumeView.exe étant un programme GUI, inutile de le lancer par CMD

Chez moi, ceci fonctionne
Le premier affiche l'interface, le deuxième aucune erreur
 
RunWait("SoundVolumeView.exe")

RunWait("SoundVolumeView.exe /LoadProfile Sound.par")
PS. Il s'agit bien de ce programme ?
https://www.nirsoft.net/utils/sound_volume_view.html

:wink:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Ligne de commande

#6

Message par Tlem »

Bonsoir.
En plus de ce que rgx vous a indiqué, je suggère l'utilisation du flag "workingdir" en y indiquant le dossier ou ce trouve SoundVolumeView.exe et le profile.
Si le profile n'est pas dans le même dossier, indiquez le chemin complet après le paramètre "/LoadProfile"

Sinon, comme l'a indiqué walkson, ShellExecuteWait ( et non ShellExecute) serait plus approprié, mais toujours pareil, il faut indiquer le dossier de travail, sinon indiquez le chemin de SoundVolumeView.exe et le chemin du profile. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
MrFreeze
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 déc. 2019 22:57
Status : Hors ligne

Re: Ligne de commande

#7

Message par MrFreeze »

walkson a écrit : ven. 13 déc. 2019 17:20 Bonjour,
Parfois la commande Run() ne passe pas. Il faut dans ce cas utiliser ShellExecute(), ce qui nous donne:
ShellExecute("monchemin\SoundVolumeView.exe", '/LoadProfile "C:\Users\Mister Freeze\Documents\Enregistrements audio\1.spr"')
notez au niveau des paramètres 'command "chemin" ' le jeu entre les ' (commandes) et les " (chemin)
Essayez aussi ShellExecute() avant ShellExecuteWait() qui peut être bloquant...
Bref, il faut tester et encore tester :P

Pardon, je n'avais pas relevé cette réponse !
j'ai essayé comme vous l'avez torché, et EUREKA, ça fonctionne, j'avais dû mal écrire la syntaxe !

mille mercis !
vraiment !

maintenant, je passe à l'étape suivante... le détournement de la reconnaissance vocale de google

Glacialement,
señor Freeze
MrFreeze
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 déc. 2019 22:57
Status : Hors ligne

Re: Ligne de commande

#8

Message par MrFreeze »

rgx a écrit : ven. 13 déc. 2019 18:04 Bonsoir,

SoundVolumeView.exe étant un programme GUI, inutile de le lancer par CMD

Chez moi, ceci fonctionne
Le premier affiche l'interface, le deuxième aucune erreur
 
RunWait("SoundVolumeView.exe")

RunWait("SoundVolumeView.exe /LoadProfile Sound.par")
PS. Il s'agit bien de ce programme ?
https://www.nirsoft.net/utils/sound_volume_view.html

:wink:
j'ai testé pour voir, mais je n'obtiens pas le même résultat qu'avec shellexecute
j'ai changé de dossier de destination de mes profils son, et je ne sais où le positionner pour arriver au résultat probant avec runwait comme ceci

Code : Tout sélectionner

RunWait("SoundVolumeView.exe")
RunWait("SoundVolumeView.exe /LoadProfile 1.spr")
je confirme que ça fonctionne du feu de dieu avec shellexecute et si vous avez vérifié de votre côté le runwait, c'est que c'est aussi ok.
MrFreeze
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 déc. 2019 22:57
Status : Hors ligne

Re: Ligne de commande

#9

Message par MrFreeze »

Tlem a écrit : ven. 13 déc. 2019 19:09 Bonsoir.
En plus de ce que rgx vous a indiqué, je suggère l'utilisation du flag "workingdir" en y indiquant le dossier ou ce trouve SoundVolumeView.exe et le profile.
Si le profile n'est pas dans le même dossier, indiquez le chemin complet après le paramètre "/LoadProfile"

Sinon, comme l'a indiqué walkson, ShellExecuteWait ( et non ShellExecute) serait plus approprié, mais toujours pareil, il faut indiquer le dossier de travail, sinon indiquez le chemin de SoundVolumeView.exe et le chemin du profile. ^^

Bonsoir,

merci pour votre intervention,

j'ai tenté avec shellexecutewait et ça tourne !

Code : Tout sélectionner

ShellExecuteWait("C:\Users\Mister Freeze\SoundVolumeView.exe", '/LoadProfile "C:\Users\Mister Freeze\Documents\Enregistrements audio\1.spr"')
Frileusement,
Mister Freeze
Répondre