|
Mostrar Temas
|
Páginas: 1 2 3 [4]
|
31
|
Programación / Scripting / [BATCH][Ayuda]con script para sabe el nombre de un archivo...
|
en: 8 Mayo 2009, 05:59 am
|
hola a todos, saludos!! ^^ Mi problema es el siguiente, lo que pasa es que he estado tratando de hacer un code en batch que me ayude a evitar que mi PC (y el de otros también, si es que me resulta)se infecte con el virus "Autorun.inf", tengo un code bastante bueno, que me detecta si hay pendrives conectadas al PC (Gracias Leo Gutiérrez por ese FOR xD), si las hay les quita los atributos de "Sistema" y "Oculto" a todos los archivos que sean necesarios, además me avisa si hay un archivo llamado "Autorun.inf" en la unidad detectada, y si es así, lo mueve a un carpeta que se llama "VIRUS_BORRAR", hasta ahí todo bien, solo lo ejecuto cuando conecto una usb el PC y listo, ahora el problema es que este archivo siempre viene acompañado de un ejecutable de nombre aleatorio y de extensión aleatoria como por ejemplo: juyta.exe ouyae.pif ó gvaefo.cmd
Estos nombres siempre están "escritos" en el archivo Autorun.inf En una línea como esta: SHEll\EXPlorE\cOMmand= juyta.exe SHEll\EXPlorE\cOMmand = ouyae.pif SHEll\EXPlorE\cOMmand =gvaefo.cmd
El problema es que como se ve en el ejemplo nunca son iguales las líneas, el signo "=" nunca esta en el mismo lugar, aunque lo demás si como el "SHEll\EXPlorE\cOMmand", solo el signo "=" va cambiando de lugar.... Ahora lo que yo quiero hacer (y que he tratado de todas formas pero no me ha resultado), es saber el nombre del archivo que viene después del signo "=", ya sea de extensión .pif, .cmd ó .exe, para así poder mover el archivo del pendrive a una carpeta que el usuario pueda eliminar después, o simplemente que lo elimine ^^*! He probado con for, con findstr, pero no me resulta, además no soy muy bueno para usar el for xD!, también he mirado alguno ejemplos de otro tipo de scripts en el foro, pero no me ha resultado, es por eso que estoy haciendo el post, para ver si alguno de Uds. me puede ayudar a solucionar esto.... Espero haberme explicado lo mejor posible... si hay alguna duda por favor postear !!!!!!!!! Saludos y muchas gracias de ante mano ^^! Aqui dejo el codigo del programa (de lo que llevo hasta el momento ) @echo off TITLE OWNED Autorun.inf v2.1 by Francisko ^^^^ COLOR 1E IF EXIST %temp%\menushow.bat (DEL %temp%\menushow.bat) CALL :Primera CALL %temp%\menushow.bat echo. echo _________________________________________________ echo Buscando Memorias Usb's Conectadas al PC ........ echo _________________________________________________ for /f "tokens=1" %%x in ('wmic logicaldisk get caption^, description ^| find /i "extra"') do ( SET mem=%%x) IF NOT DEFINED mem CALL:ERRORE ECHO Memorias Usb' conectadas al PC ^: echo "%mem%" echo wscript.sleep "1500" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs echo _________________________________________________ echo. Echo Quitando Atributos... echo _________________________________________________ attrib -r -s -h %mem%\*.* /S /D ECHO _________________________________________________ echo. echo Buscando Archivo "Autorun.inf" porfavor espera.... echo wscript.sleep "1250" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs
IF EXIST "%mem%\Autorun.inf" ( Echo Existe un Archivo llamado "Autorun.inf" en "%mem%"... echo wscript.sleep "1500" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs echo. Echo Moviendo archivo a carpeta VIRUS_BORRAR CD /D%mem% MKDIR VIRUS_BORRAR move /-Y Autorun.inf %mem%\VIRUS_BORRAR echo wscript.sleep "1500" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs ) ELSE ( GOTO :MISTAKE )
echo. ECHO Todos los comando completados con exito!! echo wscript.sleep "2000" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs
start "" /max explorer.exe %mem% CALL:SALIRE
:ERRORE echo. echo No se encontraron Memorias Usb's Conectadas al PC.... echo wscript.sleep "2000" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs CALL:SALIRE
:MISTAKE echo. echo El Archivo Autorun.inf no existe en "%mem%\" ^:D!! echo wscript.sleep "2000" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs start "" /max explorer.exe %mem% call:SALIRE
:Primera echo echo. >>%temp%\menushow.bat echo echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» >>%temp%\menushow.bat echo echo º º >>%temp%\menushow.bat echo echo º OWNED Autorun.inf v2.1 º >>%temp%\menushow.bat echo echo º by º >>%temp%\menushow.bat echo echo º Francisko! º >>%temp%\menushow.bat echo echo º º >>%temp%\menushow.bat echo echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ >>%temp%\menushow.bat goto :eof
:SALIRE echo. echo Terminado. echo wscript.sleep "1150" > %temp%\timer1.vbs cscript /nologo %temp%\timer1.vbs exit
espero que me puedan ayudar ^^, no creo que sea muy complicado, pero a mi no me funciona xDDDD saludos =)!
|
|
|
32
|
Programación / Scripting / [BATCH] OWNED AUTORUN.inf, evitar que se ejecute en las pendrives
|
en: 1 Abril 2009, 03:37 am
|
Hola!! !, leyendo otro post me acorde que tengo un pequeño codigo para mostrar todos los archivos ocultos y con atributos de "archivos de sistema" que estan alojados en el pendrive, y que cuando vamos a abrir el pendrive se ejecuta el tan odiado virus "Autorun.inf" (no se como se llamara en realidad, pero io le digo asi xD)... bueno menos letras eh aki el codigo =) @echo off TITLE OWNED - Autorun.inf v1.1 COLOR 1E IF EXIST %temp%\menushow.bat (DEL %temp%\menushow.bat) CALL :Primera CALL %temp%\menushow.bat echo. echo _________________________________________________ echo Buscando Memorias Usb's Conectadas al PC ........ echo _________________________________________________ for /f "tokens=1" %%x in ('wmic logicaldisk get caption^, description ^| find /i "extra"') do ( IF "%%x"=="" (GOTO :ERRORE) echo _________________________________________________ echo. Echo Quitando Atributos... attrib -r -s -h %%x\*.* /S /D echo _________________________________________________
start "" /max explorer.exe %%x ) :SALIRE echo Terminado. ping -n 1 0.0.0.0 >nul exit /b 0
:Primera echo echo. >>%temp%\menushow.bat echo echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» >>%temp%\menushow.bat echo echo º º >>%temp%\menushow.bat echo echo º OWNED Autorun.inf v1.1 º >>%temp%\menushow.bat echo echo º by º >>%temp%\menushow.bat echo echo º Francisko! º >>%temp%\menushow.bat echo echo º º >>%temp%\menushow.bat echo echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ >>%temp%\menushow.bat goto :eof
:ERRORE echo No se encontraron Memorias Usb's Conectadas CALL:SALIRE lo que hace el codigo el detectar todas las memorias usb conectadas al computador con el primer FOR (gracias a Leo Gutierres por ese for xD), y despues que las detecta les kita todos los atributos a todos los archivos en el pendrive y a todos los archivos en todas las carpetas del pendrive solo lo guardan y cada vez que conecten un pendrive al pc en vez de darle a abrir hacen doble click en el batch y el batch hace todo ^^ y se evitan futuros problemas !!!!! Saludos y espero que a alguien le sirva....
|
|
|
33
|
Programación / Scripting / [Batch] Problema con Script para detectar USB. [Solucionado =)]
|
en: 19 Febrero 2009, 17:04 pm
|
Hola Buenas a todos ^^*! tengo el siguiente problema con este codigo: @echo off :: Detectar las memorias USB actualmente montadas, y abrir una ventana :: con la USB detectada : ECHO Buscando ubs conectadas... por favor espera... for /f "skip=1" %%x in ('wmic logicaldisk get caption') do ( for /f "tokens=1" %%c in ('fsutil fsinfo drivetype %%x ^| find /i "extra"') do ( ECHO Quitando Atributos a los archivos en tu pendrive ..... attrib -r -h -s %%c\*.* /S /D >> %%c\archivos.txt explorer /e,/root,%%c ) ) exit /b 0 Lo que haces es detectar las usb conectada y abrir una ventana de explorer, y kitar los atributos de oculto, de solo lectura y de sistema a todos los archivos del pendrive, pero eso no es el problema, lo que pasa es que cuando me abre la ventana de explorer el "programa" queda detras de la ventana y no se cierra hasta que cierro la venta del pendrive... tonces nose porke pasa eso, y yo no quiero que quede el programa corriendo mientras uso el pendrive.... busque este codigo para evitar que se me infecte el pc con un virus que se aloja en las pendrives e infecta los discos duros cuando uno le da doble click, me ha pasado dos veces y con esto lo ejecuto antes de abrir el pendrive para ver si el virus esta y borrarlo, porke es bastante molesto y no deja ver los archivos ocultos y no deja abrir los discos duros mediante el doble click y eso me apesta xD les estaria muy agradecido si alguien me puede ayudar .... espero haberme explicado bien ^^ saludos y gracias de ante mano (el codigo de los FOR esta hecho por un usuario de aca que esta con un gatito en su cama , no recuerdo el nombre )
|
|
|
34
|
Programación / Scripting / [DUDA] For para matar procesos
|
en: 18 Enero 2009, 03:31 am
|
Hola!! saludos a todos!!!
Miren tengo el siguiente problema... yo trabajo en un cybercafe, en donde tengo 20 pcs funcionado casi perfecto... ahora el problema es el casi xD!, porke por ejemplo cuando un usuario termina de usar el pc y entra otro seguido y quiere abrir msn no puede porke se "acumulan" procesos de msn .....
por ejemplo cuando me dicen que no pueden abrir msn , voy, abro el admnistrador de tareas y veo minimo 20 msnmsgr.exe abriertos, pero el msn no se ve... la cosa es como puedo hacer para terminar esos procesos con un batch?, que lo ejecute y termine los procesos?...
yo se que se puede hacer con el comando taskkill , pero es que yo quiero que sea con un for , porke si por ejemplo copio el comando 10 veces en el batch y el proceso esta 15? tendria que ejecutarlo muchas veces, por eso creo que con un FOR se puede hacer, pero nunca entendi como usar el FOR D:!
si alguien me puede ayudar se lo agradeceria mucho!!!!!!
GRacias de ante mano ^^*!
|
|
|
35
|
Programación / Scripting / [BATCH]Copiar carpetas en batch :D
|
en: 21 Octubre 2008, 01:52 am
|
Hola! Saludos y espero que me puedan ayudar en mi problema Lo que pasa es que estoy haciendo un pequeño programa con batch para hacer respaldos de carpetas automáticamente, donde el usuario (si es la primera vez que lo usa ) ingresa la ruta de la carpeta que quiere respaldar, la ruta de la carpeta donde quiere guardar el respaldo y el nombre con que se renombrara la carpeta respaldada, esto es solo una vez y la próxima vez que el programa carga las rutas automáticamente, se muestra un menú principal con varias opciones… y una de ellas obviamente es comenzar el respaldo.(el código no lo tengo ahora porke no estoy en mi casa, pero apenas pueda lo posteo para todos lo puedan usar !) ya voy bastante avanzado, de hecho ahora solo estoy en la parte de añadir “efectos” al programa y es en uno de esos efectos que me he quedado pegado… cuando el usuario da a la opción respaldar el programa muestra una pantalla que dice algo como “Respaldando archivos por favor espere” (con enmarcado y eso xD)… en esta parte uso el comando xcopy de esta manera Xcopy %rutaentrada% %rutasalida%/CARPETATEMP /S >%temp%/respaldo.txt Donde la variable %rutaentrada% contendria la ruta de la carpeta a respaldar, %rutasalida% que contendria la ruta donde copiar el respaldo Y en el archivo respaldo.txt va guardando los archivos que se copian: Por ejemplo Por dar el ejemplo de un archivo, obviamente son muchos mas… Esto lo hago para que no se vean las rutas completas, por que a mi gusto no se ve bien xD o es molesto xD Ahora lo que quiero hacer yo es que en vez de mostrar “Copiando C:/juegoxd/system.dll” Muestre algo como Respaldando Archivo : System.dll Que muestre solo el archivo y no la ruta completa y el archivo que se esta copiando, Y que cada vez que copie otro archivo diga lo mismo ó sea seria como: Respaldando Archivo : System.dll Respaldando Archivo : Alaaudio.dll Pero no se como hacerlo, había pensado en usar un for pero no entiendo mucho el FOR xD! Es por esa razón que posteo para saber si alguno de uds me puede ayudar o dar una idea de cómo se puede hacer…. Espero haberme explicado bien y gracias de ante mano.- PD: el codigo lo voy a postear apenas pueda y en este mismo hilo ! porque no tengo internet e mi casa u.u xD! (lo digo por el tiempo en que me pueda demorar en responder.) Saludos y gracias de ante mano por al ayuda Como lo prometido es deuda eh aca el code del miniprograma @echo off IF EXIST %temp%\creditos.bat (DEL %temp%\creditos.bat) :Primera echo echo. >>%temp%\creditos.bat echo echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» >>%temp%\creditos.bat echo echo º º >>%temp%\creditos.bat echo echo º Respaldar Carpetas v5.5 º >>%temp%\creditos.bat echo echo º by º >>%temp%\creditos.bat echo echo º Francisko! º >>%temp%\creditos.bat echo echo º º >>%temp%\creditos.bat echo echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ >>%temp%\creditos.bat echo echo. >>%temp%\creditos.bat echo echo. >>%temp%\creditos.bat
TITLE Cargando.... SET weno=ping -n 2 0.0.0.0 SET fecha=%date% SET fechados=%date:/=-% CLS COLOR A CALL:LOADER echo Comprobando Archivo de Rutas... %weno% >nul IF NOT EXIST %temp%\rutascarptemp.txt (echo EL ARCHIVO NO EXISTE &pause&GOTO:CrearRutas) ELSE (echo Archivo OK) %weno% >nul :OTRAXD IF NOT EXIST %temp%\respuesta.txt (CALL:MENUPRIN) ELSE (GOTO:MAAAAS) :MAAAAS ren %temp%\respuesta.txt *.bat call %temp%\respuesta.bat ren %temp%\respuesta.bat *.txt IF %masvar%=="1" (GOTO:SEGUIR) ELSE (GOTO:MENUPRIN) :principal CLS title Respaldar Carpetas v5.5 - Menu Principal Bienvenido: *-=+[%USERNAME%]+=-* COLOR A :MENUPRIN title Respaldar Carpetas v5.5 - Menu Principal Bienvenido: *-=+[%USERNAME%]+=-* COLOR A CLS call %temp%\creditos.bat TITLE Menu Principal
echo [1].- Respaldar. echo [2].- Cambiar Rutas. echo [3].- Ver la Ayuda. echo [4].- Ver Archivo de Rutas. echo [5].- Automatizar el copiado. echo. echo NOTA : Ten en cuenta que se pueden generar dos carpetas, una con el nuevo echo respaldo y una con el antiguo, asi que no respaldes carpetas o archivos demasiado grandes. echo. SET respuest= SET /P respuest="Opcion: " IF "%respuest%"=="" call :NADA IF "%respuest%"=="1" call :CargarRutas IF "%respuest%"=="2" call :CambiarRutas IF "%respuest%"=="3" call:Ayuda IF "%respuest%"=="4" call :VEAME IF "%respuest%"=="5" (GOTO:PREGU) ELSE (GOTO principal)
IF EXIST %temp%\rutascarptemp.txt (GOTO CargarRutas) ELSE (GOTO CrearRutas) :CrearRutas COLOR A CLS call %temp%\creditos.bat echo. echo El Archivo donde se guardaran las Rutas de Respaldo no Existe, echo O ah sido borrado... echo. echo Asi que debemos crear uno ^^^^ echo. echo NO uses comillas para escribir los datos o el programa dara error echo. SET /P rutaentrada="Pega o Escribe la ruta de la carpeta que quieres respaldar: " IF "%rutaentrada%"=="" GOTO error1 SET /P rutasalida="Pega o Escribe la ruta donde se guardara el respaldo: " IF "%rutasalida%"=="" GOTO error1 IF "%rutaentrada%"=="%rutasalida%" GOTO FATALERROR SET /P nomcarpsalida="Escribe el nombre que se le dara a la carpeta de respaldo: " IF "%nomcarpsalida%"=="" GOTO error1 SET nomcarpsalida=%nomcarpsalida: =_% echo. echo @set rutaentrada="%rutaentrada%">> %temp%\rutascarptemp.txt echo @set rutasalida="%rutasalida%">> %temp%\rutascarptemp.txt echo @set nomcarpsalida="%nomcarpsalida%">> %temp%\rutascarptemp.txt GOTO Principal :SEGUIR :CargarRutas COLOR A TITLE Cargando Rutas... CLS IF NOT EXIST %temp%\rutascarptemp.txt (GOTO CrearRutas) cls call %temp%\creditos.bat echo Cargando Rutas porfavor espera... echo. %weno% >nul cls call %temp%\creditos.bat echo Cargando Rutas porfavor espera... echo. echo °°°°°°°°°°°° REN %temp%\rutascarptemp.txt *.bat %weno% >nul cls call %temp%\creditos.bat echo Cargando Rutas porfavor espera... echo. echo °°°°°°°°°°°°°°°°°°°° call %temp%\rutascarptemp.bat %weno% >nul cls call %temp%\creditos.bat echo Cargando Rutas porfavor espera... echo. echo °°°°°°°°°°°°°°°°°°°°°°°°°°°° Listo! ren %temp%\rutascarptemp.bat *.txt %weno% >nul IF NOT EXIST %rutaentrada% (GOTO NOEXISTE) call:Respaldar
:Respaldar TITLE Respaldando ... cls IF NOT EXIST %rutasalida% MD %RUTASALIDA% CD /D%rutasalida% IF Exist CARPETATEMP_OLD (RD /S /Q CARPETATEMP_OLD) IF EXIST CARPETATEMP (REN CARPETATEMP CARPETATEMP_OLD)
MD CARPETATEMP
echo. echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º º echo º Copiando Archivos º echo º Porfavor Espera.. º echo º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo.
xcopy %rutaentrada% %rutasalida%\CARPETATEMP /E > %temp%\respaldo.txt GOTO:GETTOGETHER :GETTOGETHER TITLE LISTO!!! ^^^^ DEL %temp%\respaldo.txt CD /D%rutasalida% %weno% >nul IF EXIST %nomcarpsalida% (ren %nomcarpsalida% %nomcarpsalida%_OLD) IF EXIST %nomcarpsalida%_OLD (RD /S /Q %nomcarpsalida%_OLD) %weno% >nul echo Renombrando a %nomcarpsalida%... %weno% >nul ren CARPETATEMP %nomcarpsalida% IF %ERRORLEVEL%==0 (GOTO:LISTOKO) ELSE (echo Ocurrio un fallo al renombrar la carpeta&pause&exit) echo. REM SET /P question="Deseas Renombrar tu carpeta %nomcarpsalida% a %nomcarpsalida%_%fechados%? [S/N]: " REM IF "%question%"=="" (ECHO No has escrito nada, no se renombrara la carpeta a la fecha actual&GOTO:LISTOKO) REM IF "%question%"=="S" GOTO SEDOS REM IF "%question%"=="s" GOTO SEDOS REM IF "%question%"=="N" GOTO NODOS REM IF "%question%"=="n" GOTO NODOS
REM :SEDOS REM IF EXIST %nomcarpsalida%_%fechados% (RD /S /Q %nomcarpsalida%_%fechados%) REM ren %nomcarpsalida% %nomcarpsalida%_%fechados% REM IF %ERRORLEVEL%==0 (GOTO:LISTOKO) ELSE (echo ocurrio un fallo al renombrar la carpeta&pause&exit) REM GOTO:LISTOKO REM :NODOS REM GOTO:LISTOKO :LISTOKO ECHO Carpeta Respaldada Con Exito ^^^^, presiona un tecla para salir... IF EXIST %temp%\creditos.bat (DEL %temp%\creditos.bat) pause>nul exit
:error1 echo msgbox "No has escrito nada %USERNAME%", 64, "Mensaje de Error"> %temp%\nada.vbs start %temp%\nada.vbs %weno% >nul del %temp%\nada.vbs >nul cls CALL:CrearRutas
:CambiarRutas echo. ECHO Ahora borraras el archivo donde se guardan las rutas de copiado... echo Presiona un tecla para continuar, si no quieres hacerlo cierra el programa... pause >nul DEL %temp%\rutascarptemp.txt GOTO CrearRutas
:Ayuda cls mode con cols=85 mode con lines=38 TITLE AYUDA xD! echo. echo ÉÍÍÍÍÍÍÍÍÍÍ» echo º Opcion 1:º echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Empieza el proceso de respaldo de tu carpeta, siempre y cuando º echo º hayas creado el archivo con las rutas de respaldo, si no has creado el archivo º echo º con las rutas de respaldo el programa te pedira crearlo automaticamente. º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. echo ÉÍÍÍÍÍÍÍÍÍÍ» echo º Opcion 2:º echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Borras el archivo donde se guardan las rutas de copiado y º echo º Pasas crear el archivo de nuevo, con las nuevas rutas de respaldo. º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. echo ÉÍÍÍÍÍÍÍÍÍÍ» echo º Opcion 3:º echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍ» echo º Ves la ayuda xD! :B! º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. echo ÉÍÍÍÍÍÍÍÍÍÍ» echo º Opcion 4:º echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º El programa te muestra un archivo con las rutas que has configurado previamente. º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. echo ÉÍÍÍÍÍÍÍÍÍÍ» echo º Opcion 5:º echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º Con esta opcion haces que el programa automaticamente comienzea a respaldar º echo º tu carpeta cada vez que lo ejecutes. (Ya no podras acceder el menu principal) º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. echo Presiona una tecla para volver al menu principal... pause>nul cls GOTO principal
:FATALERROR cls CALL %temp%\creditos.bat echo. ECHO %USERNAME%: LA RUTA DE ENTRADA CON LA RUTA DE DESTINO SON LAS MISMAS!!!! ECHO %USERNAME%: DEBES CAMBIAR UNA DE LAS RUTAS... echo. echo Presiona una tecla para volver a empezar! pause>nul cls IF EXIST %temp%\rutascarptemp.txt (DEL %temp%\rutascarptemp.txt) GOTO CrearRutas
:NADA echo msgbox "No has escrito nada %USERNAME%", 64, "Mensaje de Error"> %temp%\nada.vbs start %temp%\nada.vbs %weno% >nul del %temp%\nada.vbs >nul cls call:principal
:ERRONEO echo msgbox "%USERNAME% La opcion que has escrito no es valida", 64, "Informacion" > %temp%\erroneo.vbs start %temp%\erroneo.vbs %weno% >nul del %temp%\erroneo.vbs CLS CALL:principal
:NOEXISTE echo. echo Un error ha ocurrido %USERNAME%: echo La Carpeta de entrada ya no existe... o ha sido renombrada..... echo. SET opcnoe=x SET /P opcnoe="Deseas Borrar El Archivo de Rutas? [S/N]: " IF "%opcnoe%"=="" GOTO NADADOS IF "%opcnoe%"=="S" GOTO SE IF "%opcnoe%"=="s" GOTO SE IF "%opcnoe%"=="N" GOTO NO IF "%opcnoe%"=="n" GOTO NO
:NADADOS echo msgbox "No has escrito nada %USERNAME%", 64, "Mensaje de Error"> %temp%\nada.vbs start %temp%\nada.vbs %weno% >nul del %temp%\nada.vbs >nul cls GOTO NOEXISTE
:SE ECHO %USERNAME% El Archivo antiguo sera borrado y pasaras a crear uno nuevo echo con las nuevas rutas de respaldo.... echo. echo Presiona una tecla para continuar.... pause >nul CALL:CambiarRutas
:NO CLs GOTO principal
:VEAME IF EXIST %temp%\rutascarptemp.bat (DEL %temp%\rutascarptemp.bat) IF EXIST %temp%\Archivo_de_Rutas.txt (DEL %temp%\Archivo_de_Rutas.txt) REN %temp%\rutascarptemp.txt *.bat CALL %temp%\rutascarptemp.bat REN %temp%\rutascarptemp.bat *.txt echo Espere mientras se genera el archivo %weno% > nul %weno% > nul echo Estas son las rutas de Respaldo que has configurado... > %temp%\Archivo_de_Rutas.txt echo -------------------------------------------------------- >> %temp%\Archivo_de_Rutas.txt echo. >>%temp%\Archivo_de_Rutas.txt echo Carpeta a Respaldar = %rutaentrada% >> %temp%\Archivo_de_Rutas.txt echo. >> %temp%\Archivo_de_Rutas.txt echo ________________________________________________________ >> %temp%\Archivo_de_Rutas.txt echo. >> %temp%\Archivo_de_Rutas.txt echo Carpeta donde se guardara el respaldo = %rutasalida% >> %temp%\Archivo_de_Rutas.txt echo. >> %temp%\Archivo_de_Rutas.txt echo ________________________________________________________ >> %temp%\Archivo_de_Rutas.txt echo. >> %temp%\Archivo_de_Rutas.txt echo Nombre con que sera nombrada la carpeta de Respaldo = %nomcarpsalida% >> %temp%\Archivo_de_Rutas.txt echo. >> %temp%\Archivo_de_Rutas.txt echo ________________________________________________________ >> %temp%\Archivo_de_Rutas.txt echo. >> %temp%\Archivo_de_Rutas.txt echo Respaldar Carpetas by Francisko.O! >> %temp%\Archivo_de_Rutas.txt
start %temp%\Archivo_de_Rutas.txt echo Archivo Generado con Exito... Presiona un tecla para volver al menu principal... pause > nul DEL %temp%\Archivo_de_Rutas.txt >nul GOTO Principal
:LOADER echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º º echo º º echo º º echo º CARGANDO º echo º º echo º º echo º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. GOTO:eof
:ESPERA ping -n 2 0.0.0.0 >nul GOTO:eof
:PREGU CLS COLOR A TITLe Automatizar echo. echo Con esta opcion el programa comenzara a respaldar tu carpeta echo autmaticamente cada vez que lo ejecutes. echo. echo Ten en cuenta que si eliges si, no podras cambiar las rutas de copiado. echo En caso de que quieras hacerlo, Debes hacer lo siguiente: echo Debes ir a "INICIO" -^> "Ejecutar" echo y escribir "%%temp%%" (sin las comillas) y borrar el archivo respuesta.txt. echo. echo Si eliges NO el programa mostrara un menu principal cada vez que lo ejecutes. echo. SET /P var="[S/N]: " IF "%var%"=="S" (GOTO SERES) IF "%var%"=="s" (GOTO SERES) IF "%var%"=="N" (GOTO NORES) IF "%var%"=="n" (GOTO NORES) :SERES echo @SET masvar="1">%temp%\respuesta.txt GOTO:SEGUIR :NORES echo @SET masvar="2">%temp%\respuesta.txt GOTO:MENUPRIN Saludos !
|
|
|
36
|
Programación / Scripting / Ayuda con funcion de libreria de funciones u.u
|
en: 9 Septiembre 2008, 04:15 am
|
Hola! yo de nuevo !! Espero estén todos bien ^^, tengo un programa con el que puedo ingresar datos y me crea un archivo .SQL el que después lo mueve a una carpeta en C: llamada SQLUPDATES, todo bien hasta ahí, pero quiero hacer que el programa me renombre el archivo al NOMBRE que le doy yo en el programa + LA FECHA DEL DIA DE CREACION, osea NOMBRE+FECHA.sql, pero no lo puedo hacer, miren asi esta hecho el programa: title Creador de Sql de skills para Npc's :inicio color 80 cls echo Escribe mover para mover tus arhivos. echo Escribe menu para ir al menu principal. echo Datos Escritos Anteriormente: echo [ %npcid%] - [ %skillid%] - [ %skilllvl%] if %npcid%==mover call:moverarch if %npcid%==menu call %temp%\RarSFX0\sexyexec\mpdos.bat set /p skillid="ID de la skill: " set /p skilllvl="Nivel de la skill: " set /p nombre="Nombre del archivo script: " :getscript echo INSERT INTO custom_npcskills values >>%nombre%.sql echo (%npcid%, %skillid%, %skilllvl%); >>%nombre%.sql echo %nombre%.sql ha sido creado con exito.... echo Presiona una tecla para volver a empezar :moverarch set fecha= %fechaYhora:~0,10% ren %nombre%.sql %nombre%+ %fecha%%~x1.sql move /-Y *.sql C:\SQLupdates start SQLupdates
Le agrege la función renombrar un archivo a su fecha de creación del post librería de funciones, pero aun asi nose porke no me funciona, si alguien me puede ayudar se lo agradecería mucho ^^ De ante mano muchas gracias ! y saludos a todos !
|
|
|
37
|
Programación / Scripting / Usuario y Contraseña en BATCH ;D!
|
en: 9 Septiembre 2008, 04:04 am
|
Hola!, este es mi primer post en este foro, y espero que no sea el ultimo ^^ Me gusta mucho la programación en bath y tomando algunos ejemplos y después de mucho tiempo por fin logre codear un sistema de login y usuario !, o sea un sistema donde se crea un usuario y una contraseña y cada vez que se necesite entrar al sistema pide los datos ingresados con anterioridad, el BATH trabaja con la carpeta %TEMP% de Windows para que no se vean los archivos donde se guarda el usuario y su password ^^. Bueno, el primer bath es el de LOGIN, donde creamos un usuario, lo guarda en un archivo llamado login.txt y lo guarda en %temp%\lyc\login.txt con atributo de OCULTO. Donde dice TURUTA es donde debes colocar la ruta para llamar a tu programa xD! cls echo No has creado un Usuario..... set /p usuario="Escribe tu nuevo usuario: " echo ren %%temp%%\lyc\login.bat login.txt >>login.txt echo echo Lo siento pero el usuario no corresponde... >>login.txt echo echo Presiona un tecla para ingresar el usuario de nuevo... >>login.txt echo call TURUTA\comparador.bat >>login.txt move TURUTA\login.txt %temp%\lyc\ attrib +H %temp%\lyc\login.txt attrib +H %temp%\lyc echo Listo !! Usuario Guardado... echo Presiona una letra para ir al menu principal... echo Presiona una letra para ir al menu principal...
Aquí esta el BATH que guarda la contraseña: cls :clave echo No has creado una contraseña..... set /p password="Escribe tu nueva contraseña: " echo echo CONTRASEÑA CORRECTA. >>clave.txt echo echo Presiona una tecla para ir al menu principal... >>clave.txt echo ren %%temp%%\lyc\clave.bat clave.txt >>clave.txt echo call TURUTA\TUPROGRAMA.bat >>clave.txt echo echo Lo siento pero la clave no corresponde... >>clave.txt echo echo Presiona un tecla para ingresar la clave de nuevo... >>clave.txt echo call TURUTA\comparador.bat >>clave.txt move TURUTA\clave.txt %temp%\lyc\ attrib +H %temp%\lyc\clave.txt attrib +H %temp%\lyc echo Listo !! Tu contraseña esta lista y guardada.. echo Presiona una letra para ir al menu principal...
Este code hace lo mismo que el de usuario pero lo guarda en un archivo clave.txt. Ahora estos bat no funcionan por si solos, necesitan otro bat externo que se llama COMPARADOR.bat, :again cls attrib -H %temp%\lyc attrib -H %temp%\lyc\login.txt attrib -H %temp%\lyc\clave.txt ren %temp%\lyc\*.txt *.bat cls color 07 set /p login="Cuales es tu Usuario?: " call %temp%\lyc\login.bat ren %temp%\lyc\login.bat login.txt attrib +H %temp%\lyc\login.txt attrib +H %temp%\lyc cls echo Escribe tu contraseña... set /p clave="Tu Clave es?: " call %temp%\lyc\clave.bat ren %temp%\lyc\clave.bat clave.txt attrib +H %temp%\lyc\clave.txt attrib +H %temp%\lyc
Este bath lo que hace es quitar los atributos de OCULTO a la carpeta lyc y a los archivos login.txt y clave.txt y los renombra a *.bat. Ahora para que tu programa llame a estos BATH cada vez que entre el usuario a tu programa debes agregar las siguiente líneas al principio del menú principal de tu sistema, de la siguiente manera ^^ if exist %temp%\lyc\login.bat (ren %temp%\lyc\login.bat login.txt) if exist %temp%\lyc\clave.bat (ren %temp%\lyc\clave.bat clave.txt) if not exist %temp%\lyc\login.txt call TURUTA\logincreator.bat if not exist %temp%\lyc\clave.txt call TURUTA\passwordcreator.bat call TURUTA\comparador.bat
Y así cuando se ejecute tu programa va a renombrar login.bat a .txt y clave.bat a .txt, y si no existe %temp%\lyc\login.txt y clave.txt llama a los bat que crean el usuario y la contraseña xD!, y si existen llama al bath (comparador.bat) que se encarga de comparar el usuario que estas ingresando con el que esta guardado en los archivos ya creados, me explico verdad xDDDD?, y si es igual, te deja pasar y pasas a la contraseña, si no son iguales te da una pantalla de error donde te dice que esta incorrecto y vuelve a principio =). Lo e probado varias veces y funciona correctamente…. Ahora si borras la siguiente línea “ren %%temp%%\lyc\clave.bat clave.txt” de los bath para crear el usuario y la pass, el programa no compara nada de nada y pongas lo que pongas te dejara pasar, aun no se porque pero es para que lo sepan xDDDD!, si alguien lo prueba y sabe como arreglar esto seria genial !!!! Espero les sirva =) El que lo quiera mejorar seria genial, pero lo único que pido es que pongan las mejoras en el post para así también saber como ir mejorándolo !!!!!! Saludos y es pero que les sirva ! PD: disculpas por las faltas de ortografía ^^.
|
|
|
|
|
|
|