Autor
|
Tema: TUTORIAL PROGRAMACION BAT (Leído 669,988 veces)
|
Hendrix
|
De nada hombre... 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
|
|
|
Deiv
Desconectado
Mensajes: 53
|
Hola, En cuanto a MS-DOS se refiere casi nunca intenté crear un Archivos por lotes (BAT) o programar, y ahora desde Windows XP necesito crear un archivo CONVERSOR.BAT que me realice una tarea, ya que estoy trabajando con Delphi7 (con una de sus herramientas "brcc32" que transforma archivos creando recursos de Archivo.rc a Archivo.res). Mi BAT, contiene estas líneas:
PATH C:Archivos de programaBorlandDelphi7Bin brcc32 PRUEBA.rc PRUEBA.res
Lo que hace CONVERSOR.BAT es detectar donde se encuentra el ejecutable "brcc32" para transformar un archivo de recursos de ".rc" a ".res", este trabaja muy bien en el directorio que me encuentre al darle doble click.
El problema es, que cuando creo otro fichero .rc, cada vez tengo que estar editando mi CONVERSOR.BAT para cambiar los nombres del archivo en la segunda línea (Ej.: brcc32 OtraPrueba.rc OtraPrueba.res)
Entonces lo que requiero es que mi Archivo BAT haga lo siguiente al doble click:
- Detecte los archivos *.rc que existan en el directorio actual que me encuentre. - Que los cuente. - Hacer un FOR hasta la cantidad que contó. - Dentro del FOR Hacer funcionar: brcc32 para todos los archivos encontrados *.rc a *.res en el directorio actual) y así transformarlos.
De repente sea un código sencillo para muchos, pero redundo que no he creado buenos archivos por lotes, he ahí la razón del porque de mi pregunta.
Estaré atento a vuestros post de orientación. Un saludo
|
|
« Última modificación: 31 Enero 2006, 16:01 pm por Deiv »
|
En línea
|
|
|
|
Hendrix
|
Lo que intentas hacer lo estoy haciendo apra la creacion de un virus en batch...la funcion del virus es buskar en todos los Diskos duros archivos rar o zip y kopiarse dentro....Para esto es necesario hacer un motor de buskeda, lo ideal es combinar estos komandos: dir, find y for...Lo que no logro hacer es lo del find, que enkuentre el nombre del archivo....
Weno, si alguien sabe komo hacerlo que lo postee...
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
|
|
|
Deiv
Desconectado
Mensajes: 53
|
|
Find
« Respuesta #243 en: 5 Febrero 2006, 16:28 pm » |
|
Bueno Investigando un poco encontré esto de como hallar los archivos que requieres (en tu caso RAR o ZIP) existen 2 formas que las puedes combinar:
CASO 1 (Detecta en el Directorio actual).- @echo off
set fichtemp=%temp%\temporal.txt
if exist *.rar dir *.rar /b >%fichtemp% if exist *.zip dir *.zip /b >>%fichtemp%
type %fichtemp% |sort |more del %fichtemp% set fichtemp= echo.
CASO 2 (Detecta en la Raiz principal y los Subdirectorios).- @echo off echo. dir \%1 /b /s /p echo.
Ejecución: C:\Documents and Settings\Administrador\Mis documentos\BATs>buscar *.RAR (enter)
Bueno para mi pregunta lo que hice es el 2do Caso:
@echo off set fichtemp=%temp%\temporal.txt
if exist *.rc dir *.rc /b >%fichtemp%
type %fichtemp% |sort |more del %fichtemp% set fichtemp= echo.
Ahora lo único que queda es implementar un contador y para cada archivo encontrado me ejecute el "brcc32" para todos los *.rc encontrados a través de un for (o tal vez sin for) pero ahora necesito de tu ayuda ante el FOR y la Ejecución, creo ahí no tienes problemas verdad?, a recordar el mío:
Lo que requiero es que mi Archivo BAT haga lo siguiente: 1- Detecte los archivos *.rc que existan en el actual directorio (Ya esta resuelto) 2- Que los Cuente, ¿Cuantos encontró? (O que directamente ejecute el bcc32 con los encontrados) 3- Hacer un FOR hasta la cantidad que Contó 4- Dentro del FOR Hacer funcionar: brcc32 para todos los archivos encontrados *.rc a *.res en el directorio que me encuentro) y así transformarlos.
Pienso que mi problema ahora está solamente en el punto 2 y 3. Pero además me entró otra duda, ¿Como capturo cada archivo encontrado individualmente? ¿Alguna sugerencia? Saludos
|
|
« Última modificación: 5 Febrero 2006, 16:30 pm por Deiv »
|
En línea
|
|
|
|
Jarizkuren
Desconectado
Mensajes: 1
|
Hola. Me gustaria crear un .bat que borrase los archivos *.001 creados hace mas de 15 dias. Muchas gracias.
|
|
|
En línea
|
|
|
|
furioso
Desconectado
Mensajes: 2
|
Hola. Me gustaria crear un .bat que borrase los archivos *.001 creados hace mas de 15 dias. Muchas gracias.
Esa extension me suena. :-) Curioso que se cree la necesidad a la vez. Si alguien responde a esta duda comun seria de gran ayuda. Como borrar archivos por antiguedad. Gracias,
|
|
|
En línea
|
|
|
|
Hendrix
|
Si me explikan mas sobre esta extension les puedo crear un programa...esta extension se regenera cada vez o es que hay muchas???? Si es que hay muchas y las kieren borrar pongan esto en el MS-dos: cd "C:\Ruta\Donde\Hay\Archivos\aborrar del /s /q *.001 Esto borrara todos los archivos 001 de una carpeta...si kieren borrar mas cambien el direcctorio de carpeta... 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
|
|
|
karito
Desconectado
Mensajes: 1
|
Hola, quisiera saber si es posible crear un batch en el cual pueda ejecutar comandos desde linea de comandos en sybase o en oracle... Ejemplo de esto:
C:\>isql -Usa -Psybmanager 1> sp_helpdb 2> go
Gracias por su respuesta...
|
|
|
En línea
|
|
|
|
furioso
Desconectado
Mensajes: 2
|
Si me explikan mas sobre esta extension les puedo crear un programa...esta extension se regenera cada vez o es que hay muchas???? Si es que hay muchas y las kieren borrar pongan esto en el MS-dos: cd "C:\Ruta\Donde\Hay\Archivos\aborrar del /s /q *.001 Esto borrara todos los archivos 001 de una carpeta...si kieren borrar mas cambien el direcctorio de carpeta... Salu2 Hendrix Tampoco estoy seguro de que sus archivos tengan el mismo origen que los mios. Es siempre la misma, el caso es que como decia en mi post, hay que borrarlos por antiguedad. Por que se van creando cada dia y el disco duro se llena rapidamente.
|
|
|
En línea
|
|
|
|
gearl23
Desconectado
Mensajes: 4
|
hola te queria preguntar porque hice este pequeño bat pero sucede que por mas qu escoja cualquier opcion siempre va a la etiqueta formatear. que hago mal? aqui esta el bat:
@echo off echo 1 Formatear disquette con archivos de sistema echo 2 Estado de particion echo 3 Iniciar FTP
choice /c:123
if errorlevel 1 goto formatear if errorlevel 2 goto fdisk if errorlevel 3 goto ftp goto listo
:formatear set drive=%1 if "%1" == "" set drive=a: format a: /q /s goto listo
:fdisk fdisk /status goto listo
:ftp ftp goto listo
:listo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Tutorial: Programación PIC
Electrónica
|
Fabios Arts
|
2
|
10,894
|
4 Diciembre 2005, 22:23 pm
por Fabios Arts
|
|
|
Tutorial programación BAT
Scripting
|
soplo
|
4
|
5,964
|
22 Julio 2006, 23:38 pm
por sirdarckcat
|
|
|
Video Tutorial Programacion C++
« 1 2 ... 10 11 »
Programación C/C++
|
Chuxxx
|
101
|
105,748
|
2 Agosto 2013, 07:45 am
por batist07
|
|
|
Tutorial de programación con Qt4 - 1º,2º y 3º entrega
Programación C/C++
|
paju1986
|
1
|
5,470
|
25 Diciembre 2010, 21:52 pm
por Littlehorse
|
|
|
Tutorial de programacion en PHP
Desarrollo Web
|
crazykenny
|
3
|
3,195
|
9 Enero 2013, 00:05 am
por EFEX
|
|