Page 3 sur 4
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : ven. 11 févr. 2011 14:50
par Anthony
Pourtant j'ai dit que je mettrai tout le code source AutoIt + MMB, Please Help

Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : ven. 18 févr. 2011 22:51
par Anthony
Voilà aprés quelques centaines d'heures j'ai réussi pas mal de choses donc à tout récupérer
Par contre l'utilisation du CPU est énorme et je ne sait pas comment la réduire, peut être une érreur dans mon code
J'ai vraiment besoin de vous les dieux tous puissant car il ne me manque plus grand choses.
Je remercie encore tout le monde pour l'aide mais avec le peu que je demande je pourais finir mon programme principal:
"Free 3D Movie Maker"
Pourquoi ma ligne de commande ne fonctionne plus alors qu'avec un copier coller dans cmd.exe çà fonctionne ?
► Afficher le texte
Code : Tout sélectionner
"C:\Program Files (x86)\RipBot264\tools\avs2yuv\pipebuf.exe" "C:\Program Files (x86)\RipBot264\tools\avs2yuv\avs2yuv.exe" "D:\temp\RipBot264temp\job1\job1.avs" - : "C:\Program Files (x86)\RipBot264\tools\x264\x264_x64.exe" --pass 1 --bitrate 852 --stats "D:\temp\RipBot264temp\job1\job1.stats" --fps 50 --force-cfr --min-keyint 50 --keyint 500 --frames 2000 --sar 1:1 --level 4.0 --aud --nal-hrd vbr --vbv-bufsize 25000 --vbv-maxrate 25000 --filter 0,0 --ref 3 --bframes 3 --b-adapt 2 --b-pyramid none --subme 7 --aq-mode 1 --trellis 2 --partitions all --me umh --stdin y4m --output "D:\temp\RipBot264temp\video.264" - : 2
Voilà je pense faire plaisir à quelques uns car je met la totale, j'éspère juste avoir un peu d'aide:
► Afficher le texte
Le fichier fait plus de 1 Mo j'ai donc dù le mettre sur MegaUpload désolé pour le désagrément.
Code : Tout sélectionner
"MMBLib.au3" A mettre dans le dossier programme AutoIt Include
"how get.exe" Mon programme Sous Multimedia Builder
"how get.mbd" Le code source sous Multimedia Builder
"mplayer.exe" Indispensable pour les tests
"Send.au3" Le code AutoIt
"Send.exe" Le code AutoIt Compilé
"video.avi" Video pour les tests avec "mplayer.exe"
Lien de téléchargement Download Link:
http://www.megaupload.com/?d=QATCX5OJ
Code source
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#include <file.au3>
#include<Constants.au3>
#include<GUIConstantsEx.au3>
#include<WindowsConstants.au3>
#include <MMBLib.au3>
#include <WinAPI.au3>
$send = ''
; Change into the WinTitleMatchMode that supports classnames and handles
AutoItSetOption("WinTitleMatchMode", 4)
AutoItSetOption("WinSearchChildren", 1)
; get the string from commandline
#$cmd = ' 8MMBTitle "C:\Program Files (x86)\RipBot264\tools\avs2yuv\pipebuf.exe" "C:\Program Files (x86)\RipBot264\tools\avs2yuv\avs2yuv.exe" "D:\temp\RipBot264temp\job1\job1.avs" - : "C:\Program Files (x86)\RipBot264\tools\x264\x264_x64.exe" --pass 1 --bitrate 852 --stats "D:\temp\RipBot264temp\job1\job1.stats" --fps 50 --force-cfr --min-keyint 50 --keyint 500 --frames 2000 --sar 1:1 --level 4.0 --aud --nal-hrd vbr --vbv-bufsize 25000 --vbv-maxrate 25000 --filter 0,0 --ref 3 --bframes 3 --b-adapt 2 --b-pyramid none --subme 7 --aq-mode 1 --trellis 2 --partitions all --me umh --stdin y4m --output "D:\temp\RipBot264temp\video.264" - : 2 '
$cmd = $CmdLine[1]
; Atribute the MMB Title
$LenMMBTitle = StringMid($cmd, 2, 1)
$MMBTitle = StringMid($cmd, 3, $LenMMBTitle)
$Lencmd=StringLen($cmd) - $LenMMBTitle - 3 ; longeur du string
$cmd = StringRight($cmd, $Lencmd)
#MsgBox(0, "CMD is:", $cmd)
SendScriptMMB($MMBTitle, "Status$='Starting...'")
Local $Stream = Run(@ComSpec & " /c " & $cmd, @SystemDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
Sleep(1000)
Local $line
SendScriptMMB($MMBTitle, "Status$='Running...'")
While 1
$line = StdoutRead($Stream)
If @error Then ExitLoop
; Get the handle of a cmd.exe window (from its classname)
$ConsoleWindowClass = WinGetTitle("classname=ConsoleWindowClass", "")
$ConsoleWindowClass = stringreplace($ConsoleWindowClass,@LF,"")
SendScriptMMB($MMBTitle, "Title$='" & $ConsoleWindowClass & "'")
; End of Get the handle of a cmd.exe window (from its classname)
If $line <>'' Then
$line = stringreplace($line,"'","'+l$+'")
#$line = stringreplace($line,@CR,"'+CR$+'")
$line = stringreplace($line,@LF,"'+LF$+'")
$send = $send & $line
SendScriptMMB($MMBTitle, "Batch$='" & $send & "'")
SendScriptMMB($MMBTitle, "LastLine$='" & $line & "'")
Sleep(50)
EndIf
Wend
SendScriptMMB($MMBTitle, "Status$='Done...'")
Capture d'écran mplayer
Capture d'écran ping
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : sam. 19 févr. 2011 12:09
par Tlem
Anthony a écrit :Voilà aprés quelques centaines d'heures j'ai réussi pas mal de choses
Après quelques milliers d'heures à entretenir ce forum, je ne comprend pas pourquoi vous faites votre demande en Français
et en Anglais.
Si vous voulez poser votre question en Anglais, vous avez le forum ... Anglais !
Ceux qui viennent lire ce forum comprennent en lisant ceci :"AutoIt Français Communauté Francophone AutoIt" que ce forum parle Français, donc je ne comprend vraiment pas votre démarche.
Si tout le monde se met à écrire dans les deux langues, la longueur des sujets va vite devenir problématique.
Que vous commentiez vos UDFs en Anglais, ça oui mais vos messages sur ce forum doivent rester en Français (a moins que vous soyez Anglais et que vous ne maitrisiez pas trop le Français).
Je sais que certains messages ont été écrit en Anglais avec leur traduction en Français, mais c'était pour répondre à un étranger qui ne maitrise pas notre langue et pour la compréhension de tous.
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : sam. 19 févr. 2011 12:14
par Anthony
C'etais pour un ami en russie et qui ne parle pas un mot de Français.
Sinon si çà déroge aux régles du forum je le supprimerai

Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : sam. 19 févr. 2011 12:18
par Tlem
Anthony a écrit :C'etais pour un ami en russie et qui ne parle pas un mot de Français.
Pourquoi ne pas lui avoir simplement envoyé votre message directement ?
Un forum sert pour un tas de gens, ce n'est pas une boite au lettre pour tel ou tel personne.

Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : sam. 19 févr. 2011 12:37
par Anthony
Tlem a écrit :Anthony a écrit :C'etais pour un ami en russie et qui ne parle pas un mot de Français.
Pourquoi ne pas lui avoir simplement envoyé votre message directement ?
Un forum sert pour un tas de gens, ce n'est pas une boite au lettre pour tel ou tel personne.

C'est corrigé.
Je cherche juste un peu d'aide rien de plus un mp aurai été plus simple.
Pourais-tu supprimer cette conversation svp ? Pas le sujet

Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : sam. 19 févr. 2011 12:53
par Tlem
Anthony a écrit :Je cherche juste un peu d'aide rien de plus un mp aurai été plus simple.
Certes, mais si je l'ai fait comme ceci, c'est pour que tout le monde en profite. Imaginez vous bien que d'autres pourraient avoir la même idée que vous.
Anthony a écrit :Pourais-tu supprimer cette conversation svp ?
Ma réponse précédente explique pourquoi je vais laisser les choses telle quelle.

Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : sam. 19 févr. 2011 16:37
par Tlem
Il est assez difficile de vous aider pleinement, car tout le monde n'a pas le même environnement que vous.
En l'occurance, vous avez un système 64 Bits et des applications tel que RipBot264 installé (ce qui n'est pas mon cas ...).
J'ai malgré tout récupéré les éléments que vous donnez et fait quelques tests.
En utilisant la ligne 16 pour attribuer la ligne de commande (et bien sur en commantant la ligne 17) puis en modifiant la ligne 30 comme ceci :
Code : Tout sélectionner
Local $Stream = Run(@ComSpec & " /C " & $cmd, @SystemDir, @SW_SHOW)
et en lançant le script, on a tout de suite un élément de réponse.
Essayez de modifier la ligne 30 dans ce genre là pour voir ce que cela donne :
Code : Tout sélectionner
Local $Stream = Run(@ComSpec & ' /c "' & $cmd & '"', @SystemDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
Ce n'est peut être pas la solution, mais cela devrait vous donner la direction de la résolution de votre problème.

Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : sam. 19 févr. 2011 17:22
par Anthony
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 10:56
par Anthony
Voilà ma ligne de commande se lance maintenant. merci Tlem
L'utilisation du CPU est résolu (érreur de débutant)
Voilà il me manque plus qu'une chose pour marquer ce Topic en Résolu:
Le fait d'utiliser mplayer me donne avec le bouton "RUN":
► Afficher le texte
Code : Tout sélectionner
MPlayer Sherpya-SVN-r30369-4.2.5 (C) 2000-2009 MPlayer Team
Fontconfig error: Cannot load default config file
Playing F:\Send\video.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [H264] 320x240 24bpp 25.000 fps 150.0 kbps (18.3 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 1 ch, s16le, 64.0 kbit/9.07% (ratio: 8000->88200)
Selected audio codec: [ffmp3] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
AO: [dsound] 44100Hz 1ch s16le (2 bytes per sample)
Starting playback...
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [direct3d] 320x240 => 320x240 Planar YV12
A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0
Et avec "SEND":
► Afficher le texte
Code : Tout sélectionner
MPlayer Sherpya-SVN-r30369-4.2.5 (C) 2000-2009 MPlayer Team
Fontconfig error: Cannot load default config file
Playing F:\Send\video.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [H264] 320x240 24bpp 25.000 fps 150.0 kbps (18.3 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 1 ch, s16le, 64.0 kbit/9.07% (ratio: 8000->88200)
Selected audio codec: [ffmp3] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
AO: [dsound] 44100Hz 1ch s16le (2 bytes per sample)
Starting playback...
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [direct3d] 320x240 => 320x240 Planar YV12
A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0 A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0A: 3.4 V: 3.4 A-V: -0.004 ct: -0.022 85/ 85 6% 3% 0.1% 0 0 etc....
Comment disocier le log ($send) et la dernière ligne ($line) ?
J'ai éssayé par un If ligne 59 mais rien à faire et je reste preneur d'idée(s):
Code : Tout sélectionner
If $GetCRLF = @LF then
$send = $send & $line
SendScriptMMB($MMBTitle, "Batch$='" & $send & "'")
Else
SendScriptMMB($MMBTitle, "LastLine$='" & $line & "'")
EndIf
Code source en cours:
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#include <file.au3>
#include<Constants.au3>
#include<GUIConstantsEx.au3>
#include<WindowsConstants.au3>
#include <MMBLib.au3>
#include <WinAPI.au3>
$send = ''
; Change into the WinTitleMatchMode that supports classnames and handles
AutoItSetOption("WinTitleMatchMode", 4)
AutoItSetOption("WinSearchChildren", 1)
; get the string from commandline
#$cmd = ' 8MMBTitle "C:\Program Files (x86)\RipBot264\tools\avs2yuv\pipebuf.exe" "C:\Program Files (x86)\RipBot264\tools\avs2yuv\avs2yuv.exe" "D:\temp\RipBot264temp\job1\job1.avs" - : "C:\Program Files (x86)\RipBot264\tools\x264\x264_x64.exe" --pass 1 --bitrate 852 --stats "D:\temp\RipBot264temp\job1\job1.stats" --fps 50 --force-cfr --min-keyint 50 --keyint 500 --frames 2000 --sar 1:1 --level 4.0 --aud --nal-hrd vbr --vbv-bufsize 25000 --vbv-maxrate 25000 --filter 0,0 --ref 3 --bframes 3 --b-adapt 2 --b-pyramid none --subme 7 --aq-mode 1 --trellis 2 --partitions all --me umh --stdin y4m --output "D:\temp\RipBot264temp\video.264" - : 2 '
$cmd = $CmdLine[1]
; Atribute the MMB Title
$LenMMBTitle = StringMid($cmd, 2, 1)
$MMBTitle = StringMid($cmd, 3, $LenMMBTitle)
$Lencmd=StringLen($cmd) - $LenMMBTitle - 3 ; longeur du string
$cmd = StringRight($cmd, $Lencmd)
#MsgBox(0, "CMD is:", $cmd)
SendScriptMMB($MMBTitle, "Status$='Starting...'")
Local $Stream = Run(@ComSpec & ' /c "' & $cmd & '"', @SystemDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
Sleep(1000)
Local $line
SendScriptMMB($MMBTitle, "Status$='Running...'")
While 1
$line = StdoutRead($Stream)
If @error Then ExitLoop
; Get the handle of a cmd.exe window (from its classname)
$ConsoleWindowClass = WinGetTitle("classname=ConsoleWindowClass", "")
$ConsoleWindowClass = stringreplace($ConsoleWindowClass,@LF,"")
SendScriptMMB($MMBTitle, "Title$='" & $ConsoleWindowClass & "'")
; End of Get the handle of a cmd.exe window (from its classname)
If $line <>'' Then
$Len=StringLen($line)
$GetCRLF = StringMid($line, $Len, 1)
$line = stringreplace($line,"'","'+l$+'")
#$line = stringreplace($line,@CR,"'+CR$+'")
$line = stringreplace($line,@LF,"'+LF$+'")
If $GetCRLF = @LF then
$send = $send & $line
SendScriptMMB($MMBTitle, "Batch$='" & $send & "'")
Else
SendScriptMMB($MMBTitle, "LastLine$='" & $line & "'")
EndIf
EndIf
Sleep(5)
Wend
SendScriptMMB($MMBTitle, "Status$='Done...'")
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 16:34
par Anthony
J'ai pas mal avancé mais maintenant ce qu'il me reste est de supprimer de ma variable
$send ce qui est surligné et pi' c'est fini
Si les Dieux de AutoIt passaient par là....., ce topic serai résolu
Capture d'écran en fonctionnement:
Send.au3
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#include <file.au3>
#include<Constants.au3>
#include<GUIConstantsEx.au3>
#include<WindowsConstants.au3>
#include <MMBLib.au3>
#include <WinAPI.au3>
$send = ''
$StopBatch = ''
$Stopsend = ''
; Change into the WinTitleMatchMode that supports classnames and handles
AutoItSetOption("WinTitleMatchMode", 4)
AutoItSetOption("WinSearchChildren", 1)
; get the string from commandline
#$cmd = 'MMBTitle||20||1||"C:\Program Files (x86)\RipBot264\tools\avs2yuv\pipebuf.exe" "C:\Program Files (x86)\RipBot264\tools\avs2yuv\avs2yuv.exe" "D:\temp\RipBot264temp\job1\job1.avs" - : "C:\Program Files (x86)\RipBot264\tools\x264\x264_x64.exe" --pass 1 --bitrate 852 --stats "D:\temp\RipBot264temp\job1\job1.stats" --fps 50 --force-cfr --min-keyint 50 --keyint 500 --frames 2000 --sar 1:1 --level 4.0 --aud --nal-hrd vbr --vbv-bufsize 25000 --vbv-maxrate 25000 --filter 0,0 --ref 3 --bframes 3 --b-adapt 2 --b-pyramid none --subme 7 --aq-mode 1 --trellis 2 --partitions all --me umh --stdin y4m --output "D:\temp\RipBot264temp\video.264" - : 2 '
$cmd = $CmdLine[1]
; Atribute variables from MMB
$CmdVar = StringSplit($cmd, "||", 1)
$MMBTitle = StringSplit($CmdVar[1], "||")
$MMBTitle = $MMBTitle[1]
$AutoItTimer = StringSplit($CmdVar[2], "||")
$AutoItTimer = $AutoItTimer[1]
$StopBatch = StringSplit($CmdVar[3], "||")
$StopBatch = $StopBatch[1]
$cmd = StringSplit($CmdVar[4], "||")
$cmd = $cmd[1]
SendScriptMMB($MMBTitle, "Status$='Starting...'")
Local $Stream = Run(@ComSpec & ' /c "' & $cmd & '"', @SystemDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
Sleep(1000)
Local $line
SendScriptMMB($MMBTitle, "Status$='Running...'")
While 1
$line = StdoutRead($Stream)
If @error Then ExitLoop
; Get the handle of a cmd.exe window (from its classname)
$ConsoleWindowClass = WinGetTitle("classname=ConsoleWindowClass", "")
$ConsoleWindowClass = stringreplace($ConsoleWindowClass,@LF,"")
SendScriptMMB($MMBTitle, "Title$='" & $ConsoleWindowClass & "'")
; End of Get the handle of a cmd.exe window (from its classname)
If $line <>'' Then
$line = stringreplace($line,"'","'+l$+'")
#$line = stringreplace($line,@CR,"'+CR$+'")
#$line = stringreplace($line,@LF,"'+LF$+'")
$line = stringreplace($line,@CRLF,"'+CRLF$+'")
If $StopBatch = 1 then
If $Stopsend < 1 then
$Stopsend = 1
$line = stringreplace($line,@CR,"à éffacer" & @CR)
$send = $send & $line
MsgBox(0, "send is:", $send)
SendScriptMMB($MMBTitle, "Batch$='" & $send & "'")
EndIf
SendScriptMMB($MMBTitle, "LastLine$='" & $line & "'")
Else
$send = $send & $line
SendScriptMMB($MMBTitle, "Batch$='" & $send & "'")
SendScriptMMB($MMBTitle, "LastLine$='" & $line & "'")
EndIf
EndIf
Sleep($AutoItTimer)
Wend
SendScriptMMB($MMBTitle, "Status$='Done...'")
Code : Tout sélectionner
"MMBLib.au3" A mettre dans le dossier programme AutoIt Include
"how get.exe" Mon Programme Compilé Sous Multimedia Builder
"how get.mbd" Le code source sous Multimedia Builder
"mplayer.exe" à récupérer dans le pack megaupload
"Send.au3" Le code AutoIt
"Send.exe" Le code AutoIt Compilé
"video.avi" à récupérer dans le pack megaupload
Lien de téléchargement mplayer + video.avi :
http://www.megaupload.com/?d=LFAZMUV5
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 21:22
par Anthony
Pour trouver la longeur totale de
$send j'ai pas eu trop de mal,
Pour trouver la ligne ou la position du dernier
+CRLF$+' là je bloque

Es-ce faisable car mes recherches se basent sur GetPos, GetStringPos, GetLine et je ne trouve rien

Je ne sait même pas si je cherche dans la bonne direction
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 21:27
par zeshrek
Anthony a écrit :Pour trouver la ligne ou la position du dernier
+CRLF$+' là je bloque

Tu veux sans doute parler de
@CRLF plutot que de
CRLF$ ?
Si tel est le cas, regarde du coté de StringInStr($LaVariableAVerifier,@CRLF)
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 21:28
par Tlem
On peut avoir la ligne en texte clair (ça m'évitera de la retaper ...

)
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 21:48
par Anthony
zeshrek a écrit :Tu veux sans doute parler de @CRLF plutot que de CRLF$ ?
Si tel est le cas, regarde du coté de StringInStr($LaVariableAVerifier,@CRLF)
+CRLF$+' est une variable que j'ai déclaré dans Multi Media Builder l'équivalent de
@CRLF(Carierage Return, Line Feed) dans AutoIt.
Je suis obliger de faire cette conversion pour rendre la compatibilité entre les 2
Code : Tout sélectionner
If $StopBatch = 1 then
If $Stopsend < 1 then
$Stopsend = 1
$line = stringreplace($line,@CR,"à éffacer" & @CR)
$send = $send & $line
$Lensend=StringLen($send) ; Longueur du string, c'est là que je souhaite supprimer ce qu'il y à en trop depuis +CRLF$+'
MsgBox(0, "send is:", $send)
SendScriptMMB($MMBTitle, "Batch$='" & $send & "'")
EndIf
SendScriptMMB($MMBTitle, "LastLine$='" & $line & "'")
Else
Tlem a écrit :On peut avoir la ligne en texte clair (ça m'évitera de la retaper ...

)
C'est à moi ou à zeshrek que tu as posé la question ?
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 21:50
par Tlem
Bin à toi ...
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 22:11
par Anthony
La variable $send exacte est:
Mais peut changer suivant le type de ligne de commande dos
En éspérant que ce soit la réponse à ta question ou j'ai peut-être mal compris, debout depuis 4 heures ce matin
PS: Le programme Multimedia Builder "how get.exe" à changé au niveau interne ainsi que tout le pack (sauf video + mplayer)
► Afficher le texte
Code : Tout sélectionner
MPlayer Sherpya-SVN-r30369-4.2.5 (C) 2000-2009 MPlayer Team
getch2: 6 can't get number of input events [disabling console input]
Playing F:\Send\video.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [H264] 320x240 24bpp 25.000 fps 150.0 kbps (18.3 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 1 ch, s16le, 64.0 kbit/9.07% (ratio: 8000->88200)
Selected audio codec: [ffmp3] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
AO: [dsound] 44100Hz 1ch s16le (2 bytes per sample)
Starting playback...
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [direct3d] 320x240 => 320x240 Planar YV12
A: 0.2 V: 0.0 A-V: 0.114 ct: 0.000 2/ 2 ??% ??% ??,?% 0 0 à éffacer
A: 0.2 V: 0.1 A-V: 0.083 ct: -0.001 3/ 3 ??% ??% ??,?% 0 0 à éffacer
A: 0.2 V: 0.1 A-V: 0.063 ct: -0.001 4/ 4 ??% ??% ??,?% 0 0 à éffacer
A: 0.2 V: 0.2 A-V: 0.033 ct: -0.001 5/ 5 ??% ??% ??,?% 0 0 à éffacer
A: 0.2 V: 0.2 A-V: 0.003 ct: -0.002 6/ 6 ??% ??% ??,?% 0 0 à éffacer
A: 0.2 V: 0.2 A-V: -0.006 ct: -0.003 7/ 7 ??% ??% ??,?% 0 0 à éffacer
A: 0.3 V: 0.3 A-V: -0.014 ct: -0.004 8/ 8 ??% ??% ??,?% 0 0 à éffacer
A: 0.3 V: 0.3 A-V: -0.004 ct: -0.004 9/ 9 ??% ??% ??,?% 0 0 à éffacer
A: 0.3 V: 0.4 A-V: -0.036 ct: -0.008 10/ 10 ??% ??% ??,?% 0 0 à éffacer
A: 0.4 V: 0.4 A-V: -0.025 ct: -0.011 11/ 11 ??% ??% ??,?% 0 0 à éffacer
A: 0.4 V: 0.4 A-V: -0.008 ct: -0.011 12/ 12 ??% ??% ??,?% 0 0 à éffacer
A: 0.5 V: 0.5 A-V: -0.003 ct: -0.012 13/ 13 ??% ??% ??,?% 0 0 à éffacer
A: 0.5 V: 0.5 A-V: -0.024 ct: -0.014 14/ 14 30% 13% 0.8% 0 0 à éffacer
A: 0.5 V: 0.6 A-V: -0.014 ct: -0.016 15/ 15 27% 13% 0.7% 0 0 à éffacer
A: 0.6 V: 0.6 A-V: -0.013 ct: -0.017 16/ 16 26% 12% 0.7% 0 0 à éffacer
A: 0.6 V: 0.6 A-V: 0.007 ct: -0.016 17/ 17 24% 11% 0.6% 0 0 à éffacer
A: 0.7 V: 0.7 A-V: -0.013 ct: -0.018 18/ 18 23% 11% 0.6% 0 0 à éffacer
A: 0.7 V: 0.7 A-V: -0.002 ct: -0.018 19/ 19 22% 11% 0.7% 0 0 à éffacer
A: 0.8 V: 0.8 A-V: -0.002 ct: -0.018 20/ 20 21% 10% 0.8% 0 0 à éffacer
A: 0.8 V: 0.8 A-V: 0.008 ct: -0.018 21/ 21 20% 10% 0.7% 0 0 à éffacer
A: 0.8 V: 0.8 A-V: -0.022 ct: -0.020 22/ 22 19% 10% 0.7% 0 0 à éffacer
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 22:30
par Anthony
j'ai un début de réponse avec:
Je vais me pencher là dessus:
Code : Tout sélectionner
; Find the 3rd occurance of "wood"
$location = StringInStr("How much wood could a woodchuck chuck is a woodchuck could chuck wood?", "wood", 0, 3)
Merci vous êtes mes Dieux, çà sent le [R], j'éspère ne pas parler trop vite

Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : lun. 21 févr. 2011 23:01
par Tlem
Dans la ligne que vous donnez, il n'apparait plus la variable +crlf$+.
Est-ce normal ?
Re: [..] Récupérer le contenu de cmd.exe (pour newbies)
Posté : mar. 22 févr. 2011 05:32
par Anthony
J'ai fait un éssai rapide hier soir je vais voir de plus prés maintenant