Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales
Autor
|
Tema: [ BATCH ] Efecto visual de escribir lento? (Leído 1,728 veces)
|
|
EleKtro H@cker
|
Hola, me gustaría crear en batch una "función" para "typear" lento en la CMD... Pudiendola llamar facilmente desde un call, por ejemplo así " CALL :SLOW leeeeeeeento" y que escribiera letra por letra el argumento, con un "ping" entre cada letra para darle ese efecto de teclear typear... No se si existe alguien que ya lo haya echo... A mi me está costando mucho hacerme una idea de como podría hacerse :/, No se de que forma puedo utilizar un FOR para hacer esta tarea.. que por cierto me parece divertida xD. @echo off Call :SLOW abcdefghijklmnopqrstuvwxyz :SLOW For /F "Tokens=1-3" %%a in ('echo %1') do ( echo %%a ping -n 1 localhost >nul & ping -n 1 localhost >nul echo %%b ping -n 1 localhost >nul & ping -n 1 localhost >nul echo %%c ping -n 1 localhost >nul & ping -n 1 localhost >nul pause ) No se como seguir el script, es solo un ejemplo...
|
|
|
|
« Última modificación: 20 Noviembre 2011, 02:01 por EleKtro H@cker »
|
En línea
|
Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE: "La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal." PD: Volviendo a la era de los 56 k.
|
|
|
$Edu$
Desconectado
Mensajes: 1.416
|
Yo tenia uno guardado que no se de quien era, pero funciona de la forma que lo haces si o algo asi, porq eso q tienes no pone hacia abajo? en vez de dejarlo solo en una linea..
|
|
|
|
|
En línea
|
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." - Albert Einstein.
|
|
|
|
EleKtro H@cker
|
porq eso q tienes no pone hacia abajo? en vez de dejarlo solo en una linea..
se me habia ocurrido pero de todas formas... no veo como "separar" cada una de las letras de ese texto  gracias por contestar
|
|
|
|
|
En línea
|
Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE: "La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal." PD: Volviendo a la era de los 56 k.
|
|
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
 
Desconectado
Mensajes: 2.968
/^$/
|
Me ha ganado la respuesta Dariohxcx :p
|
|
|
|
|
En línea
|
|
|
|
|
EleKtro H@cker
|
justo lo que andaba buscando, buenisimo!!! gracias a los 3 por el interés.
|
|
|
|
|
En línea
|
Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE: "La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal." PD: Volviendo a la era de los 56 k.
|
|
|
|
EleKtro H@cker
|
lo único malo de aquel script, es que no imprime los espacios :/ Alguien tiene idea de como arreglarlo?: ::autor CarlitoS.dll @echo off mode con cols=100 mode con lines=20 call :SLOW aaa aaaa aaaa echo+ echo+ call :SLOW quiero un espacio pause>nul goto:eof :SLOW set palabra=%* if not defined palabra (goto:eof) set palabra=%palabra: =_% call:length %palabra% set /a contt=0 :loopt call :SLOW1 %%palabra:~%contt%,1%% set /a contt +=1 if %contt% leq %tam% (goto:loopt) goto:eof :SLOW1 set char=%1 if [%char%]==[_] (set char= ) <nul (set /p msg=%char%) ping -n 1 127.0.0.0 -w 1>nul 2>&1 goto:eof :length set argl=%* if not defined argl (goto :eof) set wordl=%argl% set /a contl=0 :loopl if not defined wordl (goto endl) set wordl=%wordl:~1% set /a contl +=1 goto loopl :endl set tam=%contl% goto :eof
No se si en otros windows funciona, pero en win 7 no el fallo está aqui: :tpwrtr1 set char=%1 if [%char%]==[_] (set char= ) <nul (set /p msg=%char%) goto:eof He intentado modifiar esa parte de mil formas, pero no consigo que "reconozca" el espacio :/ EDITO: Es que es increible!!!! el code original debería ir, y ni cambiandolo así: :SLOW1 set char=%1 if not defined char ( <nul set /p "msg=%1 " ) ELSE ( <nul set /p "msg=%1" ) goto:eof Ni así!: Set "Space= " :SLOW1 set char=%1 if not defined char ( <nul set /p "msg=%space%" ) ELSE ( <nul set /p "msg=%1" ) goto:eof Me estoy desesperando, siempre me lo escribe todo junto 
|
|
|
|
« Última modificación: 20 Noviembre 2011, 03:55 por EleKtro H@cker »
|
En línea
|
Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE: "La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal." PD: Volviendo a la era de los 56 k.
|
|
|
|
EleKtro H@cker
|
me han pasado este script, más sencillo, pero tampoco imprime los espacios (al menos en windows 7) @echo off setlocal enabledelayedexpansion
::aqui le decimos que queremos que escriba call:slowrite escribiendo leeento pause>nul exit
:: iniciamos la función de escribir :slowrite set parm=%* :write if "%parm%"=="" goto:eof set /p=!parm:~0,1!<nul set parm=%parm:~1% ping -n 1 127.0.0.0 -w 1>nul 2>&1 ping -n 1 127.0.0.0 -w 1>nul 2>&1 goto :write
|
|
|
|
|
En línea
|
Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE: "La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal." PD: Volviendo a la era de los 56 k.
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
 
Desconectado
Mensajes: 2.968
/^$/
|
Prueba lo siguiente: @echo off REM Echo Dinamico by Fhaker REM Optimized by ::SmartGenius:: copy %0 tempcode.txt cls set /p a=Echo Dinamico: set b= goto start :start set /a f=%f%+1 if %f%==1 echo ::Inicio Code Generado >>%0 set h=%a:~0, set l=%h%%f%%o% echo :menu%f% >>%0 echo cls >>%0 echo set b=%%%l%%% >>%0 echo echo %b%_ >>%0 echo if "%b%"=="%a% " goto fin >>%0 echo goto start >>%0 ping -n 2 0.0.0.0 >nul goto menu%f% :fin pause exit Aquí está lo que buscas: http://www.portalhacker.net/index.php?topic=79814.0
|
|
|
|
« Última modificación: 20 Noviembre 2011, 04:53 por Leo Gutiérrez. »
|
En línea
|
|
|
|
|
EleKtro H@cker
|
Buf! Vale, el método lo entiendo, copia unas cosas dentro del mismo batch y hace unos "goto" que hacen "CLS" y muestran cada vez la frase con 1 caracter más. supongo que intentar escribir varías lineas con ese método, es imposible... Lo he modificado un poco pero no puedo PD: uso nircmd y colous en el script PD2: he probado otro script de esa página, pero hace casi lo mismo que este así que solo puedo escribir una línea.  @echo off Set Batch=%0 CALL :SLOW Hola como estan? Echo. CALL :SLOW Gracias Leo xD pause >NUL :SLOW If not defined Batch (Goto:EOF) set a=%* set b= goto :start :start set /a f=%f%+1 if %f%==1 echo ::Inicio Code Generado >>%batch% set h=%a:~0, set l=%h%%f%%o% echo :menu%f% >>%batch% echo cls >>%batch% echo echo+ >>%batch% echo set b=%%%l%%% >>%batch% echo Colous writesec "[11] %b%">>%batch% echo if "%b%"=="%a% " Goto :FIN>>%batch% echo goto :start>>%batch% nircmd wait 100 goto menu%f% :fin set a= set b= set f= set l= goto :eof
|
|
|
|
|
En línea
|
Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE: "La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal." PD: Volviendo a la era de los 56 k.
|
|
|
$Edu$
Desconectado
Mensajes: 1.416
|
Aca encontre el codigo en mi pendrive, por si sirve de algo.. @echo off call:put Me canse de escribir tantas lineas ... call:put Este es el typewritter effect reloaded call:put o echo dinamico xD >nul,pause goto:eof :put if,not,defined,.m_,set.m_=%*&if,not,defined,.m_,goto:eof <nul,set/p.m_=%.m_:~0,1%&>nul,ping -n 1 0&set.m_=%.m_:~1%&if,defined,.m_ (goto:put),else,(echo.) goto:eof
|
|
|
|
|
En línea
|
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas." - Albert Einstein.
|
|
|
|
EleKtro H@cker
|
Aca encontre el codigo en mi pendrive, por si sirve de algo.. @echo off call:put Me canse de escribir tantas lineas ... call:put Este es el typewritter effect reloaded call:put o echo dinamico xD >nul,pause goto:eof :put if,not,defined,.m_,set.m_=%*&if,not,defined,.m_,goto:eof <nul,set/p.m_=%.m_:~0,1%&>nul,ping -n 1 0&set.m_=%.m_:~1%&if,defined,.m_ (goto:put),else,(echo.) goto:eof Gracias por el code pero no me sirve, ese code no escribe los espacios (Supongo que a ti si, en windows xp si), de todas formas ese problema ya me ayudaron a resolverlo xD ahora estoy estancado en no poder escribir más de una línea  un saludo
|
|
|
|
|
En línea
|
Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE: "La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal." PD: Volviendo a la era de los 56 k.
|
|
|
|
|