Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: ed-C en 19 Enero 2005, 03:54 am



Título: EJERCICIO MSDOS
Publicado por: ed-C en 19 Enero 2005, 03:54 am
Hola a todos

Lo primero dar una felicitacion tanto a los moderadores del foro como a los usuarios que ayudan con este foro.

Dicho esto explico mi duda, necesito ayuda con un ejercicio para crear un fichero *.bat estuve buscando por el foro si existia una sección de programacion MSDOS, como no la encontre dude entre ponerlo en Dudas en general o Programacion general, al final decidi ponerlo aqui ya que lo vi algo mas relacionado ... o eso me indico mi inculturilla en el mundo de la creacion de ficheros *.bat Luego pense lo posteo dentro de ejercicios o no??? al final decidi que si y si mi decision fue erronea pido disculpas y que un moderador traslade el mensaje a el lugar donde mejor este. Gracias de antemano.

Aqui os dejo el enunciado del ejercicio en su totalidad:

Citar
Realizar un fichero BAT llamado SISTEMAS.BAT con el siguiente menú y que realice las opciones que se especifican.

MENU PRINCIPAL

1. Utilidades del sistema
2. Utilidades de ficheros
3. Salir al S.O

Desde este fichero se llama a otros dos ficheros *.bat llamados SISTEMA.BAT y FICHEROS.BAT
SISTEMA.BAT: este fichero sacara en pantalla el siguiente menú y realizara las operaciones que se especifican a continuación:


MENU DEL SISTEMA

A. Actualizar y visualizar la fecha del sistema
B. Visualizar las caracteristicas del sistema
C. Visualizar la hora del sistema
D. Analizar los problemas del disco duro
E. Salir al menú principal

FICHERO.BAT: este fichero sacara en pantalla el siguiente menú y realizara las siguientes operaciones:

MENU DEL FICHERO
A. Visualizar el directorio de la unidad determinada
B. Visualizar el contenido de un fichero paginado
C. Renombrar un fichero
D. Copiar un fichero
E. Borrar varios ficheros
F. Salir al menu principal

Elige la opción deseada

Gracias de antemano. Espero contestacion :D


NOTA:Encontre a posteriori esta sección del foro pero ya habia preguntado en la sección de programacion ejercicios porque hice la busqueda de temas en vez de por bat msdos por ejercicios msdos y ahora encontre una sección igual mas adecuada como es cursos *bat, asi que si los moderadores quereis borrar uno (lo veo logico) decicdir donde esta mejor planteada la duda, perdon por el duplicado del mensaje y gracias de antemano.


Título: Re: EJERCICIO MSDOS
Publicado por: Natanael en 10 Abril 2005, 15:52 pm
Bueno, hice algo...

Sistema.bat
Código:
@echo off
:mp
cls
echo. MENU PRINCIPAL
echo.ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.1. Utilidades del sistema
echo.2. Utilidades de ficheros
echo.3. Salir al S.O
choice /n /c123>nul
if errorlevel 3 goto end
if errorlevel 2 mf.bat
if errorlevel 1 ms.bat
:end
cls
echo Esta Seguro Q Dese Salir?
echo.1.Si.
echo.2.No, volver.
choice /n /c12>nul
if errorlevel 2 goto mp
if errorlevel 1 echo Chau...
type nul|choice /c1 /n /t1,3>nul
cls

MS.bat
Código:
@echo off
:ms
cls
echo. MENU DEL SISTEMA
echo.ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.A. Actualizar y visualizar la fecha del sistema
echo.B. Visualizar las caracteristicas del sistema
echo.C. Visualizar la hora del sistema
echo.D. Analizar los problemas del disco duro
echo.E. Salir al menu principal
choice /n /cabcde >nul
if errorlevel 5 sistema.bat
if errorlevel 4 scandisk
if errorlevel 3 goto c
if errorlevel 2 goto b
if errorlevel 1 goto a
goto ms
:a
cls
echo @prompt set date=$d > {a}.bat
%comspec% /e:2048 /c {a}.bat > {b}.bat
for %%v in ({b}.bat del) do call %%v {?}.bat
echo Estamos en la fecha %date%
echo.¿Es esto correcto?
echo.1.Si
echo.2.No!
choice /n /c12 >nul
if errorlevel 2 date
if errorlevel 1 goto ms
goto ms
:b
cls
drvspace c:
echo.|ver
echo Presione una tecla para volver al Menu del Sisema
pause>nul
goto ms
cls
echo @prompt set time=$t$h$h$h > {a}.bat
%comspec% /e:2048 /c {a}.bat > {b}.bat
for %%v in ({b}.bat del) do call %%v {?}.bat
echo.Son las %time%
echo ¿Es Esto Correcto??
echo.1.Si
echo.2.NO!
choice /n /c12 >nul
if errorlevel 2 time
if errorlevel 1 goto ms

MF.bat
Código:
:mf
cls
echo. MENU DEL FICHERO
echo.ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo.A. Visualizar el directorio de la unidad determinada
echo.B. Visualizar el contenido de un fichero paginado
echo.C. Renombrar un fichero
echo.D. Copiar un fichero
echo.E. Borrar varios ficheros
echo.F. Salir al menu principal
echo.
echo No lo termine =P
echo Toca una tecla pa' volver
pause>nul
sistema.bat

Fijate, si lo podes terminar, aca ya son las 10:50 y no dormi todavía y quiero ver algo de QBasic  :P


Título: Re: EJERCICIO MSDOS
Publicado por: einchel en 21 Febrero 2006, 09:42 am
Buenas, tengo un problema y es que tengo WXP, pero no tengo tiene el comando CHOICE  no puedo hacer algo parecido a este ejemplo.

Por favor a ver si podeis ayudarme. Gracias....  :rolleyes:


Título: Re: EJERCICIO MSDOS
Publicado por: Hendrix en 19 Abril 2006, 14:16 pm
Claro que se puede hacer!!!! :) :) mira:

Citar
echo.1. Utilidades del sistema
echo.2. Utilidades de ficheros
echo.3. Salir al S.O
choice /n /c123>nul
if errorlevel 3 goto end
if errorlevel 2 mf.bat
if errorlevel 1 ms.bat

Lo podemos substituir por esto:

Código:
echo.1. Utilidades del sistema
echo.2. Utilidades de ficheros
echo.3. Salir al S.O
set /p opciones=
if %opciones%==3 goto end
if %opciones%==2 mf.bat
if %opciones%==1 ms.bat

Facil, no???

Salu2

Hendrix



Título: Re: EJERCICIO MSDOS
Publicado por: satanico88 en 13 Octubre 2006, 14:09 pm
El Comando "Choice" no me lo reconoce como Comando Externo o Interno..:S
q Pasa ?


Título: Re: EJERCICIO MSDOS
Publicado por: sakura-san en 28 Octubre 2006, 20:41 pm
Pues que no es MS-DOS realmente es una especie de consola con muchos comandos que ya no puedes utilizar.

prueba con esto.  ;D

http://www.megaupload.com/?d=F9VRA4HI


Título: Any
Publicado por: any en 1 Diciembre 2006, 04:56 am
 >:(


Título: Re: EJERCICIO MSDOS
Publicado por: kodek en 30 Abril 2007, 17:23 pm
Yo tengo un problema parecido, estoy intentando crear un menu con la ayuda el disco de inicio de windows 98, para una serie de opciones,(bueno son actualizaciones de bios y bioslocks) para poder cargarlos desde una memeria usb.

Bueno tengo el menu creado, pero las opciones no las ejecuta bien, va saltando de una a otra sin parar, aqui os pego el config.sys y el autoexec.bat a ver si podeis hecharme una mano, si no creo que acabare por volverme loco...

config.sys
[menu]
submenu=MSI, Actualizaciones de placas MSI
submenu=ASROCK, Actualizaciones de placas ASROCK
submenu=INTEL, Actualizaciones de placas INTEL
submenu=GIGABYTE, Actualizaciones de placas GIGABYTE
submenu=ABIT, Actualizaciones de placas ABIT
submenu=BIOSLOCK, Actualizar Bios Lock
menudefault=cd,1000
menucolor=14,0
[MSI]
menuitem=ms7281, Bios placa MSI 7281
menuitem=ms7241, Bios placa MSI 7241
menuitem=ms7255, Bios placa MSI 7255
submenu=menu, Volver al menu principal...
menudefault=menu,
[ASROCK]
menuitem=775i65g, Bios placa ASROCK 775I65G
menuitem=am2nf6g, Bios placa ASROCK AM2NF6G
submenu=menu, Volver al menu principal...
menudefault=menu,
[INTEL]
menuitem=965gf, Bios placa IntelQ965GF
menuitem=945gtpl, Bios placa Intel945GTPL
menuitem=945gpm, Bios placa Intel945GPM
menuitem=945gnt, Bios placa Intel945GNT
submenu=menu, volver al menu principal...
menudefault=menu,
[GIGABYTE]
menuitem=945gm-s2, Bios placa Gigabyte 945GM-S2
menuitem=945p-s3, Bios placa Gigabyte 945P-S3
menuitem=965p-s3, Bios placa Gigabyte 965P-S3
submenu=menu, volver al menu principal...
menudefault=menu,
[ABIT]
menuitem=il90, Bios placa ABIT IL90
submenu=menu, volver al menu principal...
menudefault=menu,
[BIOSLOCK]
menuitem=bioslockintel, Pasar bioslock Intelq
menuitem=bioslockmsi, Pasar bioslock de Msi, Asrock, Abit.
submenu=menu, volver al menu principal...
menudefault=menu,

[bioslockintel]
include=noemm
[bioslockmsi]
include=noemm
[ms7281]
include=noemm
[ms7241]
include=noemm
[ms7255]
include=noemm
[775i65g]
include=noemm
[am2nf6g]
include=noemm
[965GF]
include=noemm
[945gtpl]
include=noemm
[945gpm]
include=noemm
[945gnt]
include=noemm
[945gm-s2]
include=noemm
[945p-s3]
include=noemm
[965p-s3]
include=noemm
[il90]
include=noemm

[EMM]
device=himem.sys /testmem:off /numhandles=128
devicehigh=emm386.exe NOEMS
dos=high,umb,
fileshigh=40
buffershigh=4
shell=\command.com /e:2048 /p
switches=/f
[NOEMM]
devicehigh=himem.sys /testmem:off /numhandles=128
dos=high,umb,
fileshigh=40
shell=\command.com /e:2048 /p
switches=/f

[COMMON]
lastdrivehigh=z

autoexec.bat
IF "%config%"=="ms7281" GOTO ms7281
IF "%config%"=="il90" GOTO il90
IF "%config%"=="945p-s3" GOTO 945P-S3
IF "%config%"=="965p-s3" GOTO 965P-s3
IF "%config%"=="bioslockintel" GOTO BIOSLOCKINTEL
IF "%config%"=="965gf" goto 965gf
IF "%config%"=="945gtpl" GOTO 945gtpl
IF "%config%"=="945gpm" GOTO 945GPM
IF "%config%"=="945gnt" goto 945gnt
IF "%config%"=="ms7241" goto ms7241
IF "%config%"=="ms7255" goto ms7255
IF "%config%"=="775i65g" goto 775i65g
IF "%config%"=="am2nf6g" goto am2nf6g
IF "%config%"=="bioslockmsi" goto bioslockmsi
IF "%config%"=="945gm-s2" goto 945gm-s2

:945gm-s2
cd images
cd gigabyte
cd 945gm-s2
945gms-2.bat
cd..
cd..
cd..
promp reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:bioslockmsi
cd images
cd bioslock
cd blmsi
blmsi.bat
cd..
cd..
cd..
prompt reinicia el equipo y selecciona test.
cls

:am2nf6g
cd images
cd msi
cd am2nf6g
call am2nf6g.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:775i65g
cd images
cd msi
cd 775i65g
call 775i65g.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:ms7255
cd images
cd msi
cd ms7255
call ms7255.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:ms7241
cd images
cd msi
cd ms7241
call ms7241.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:945gnt
cd images
cd intel
cd 945gnt
call 945gnt.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:945GPM
cd images
cd intel
cd 945GPM
call 945gpm.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:945gtpl
cd images
cd intel
cd 945gtpl
call 945gtpl.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:965gf
cd images
cd intel
cd 965gf
call 965gf.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:BIOSLOCKINTEL
cd images
cd bioslock
cd blintelq
call bioslockintel.bat
prompt Reinicia el equipo y selecciona test.
cls

:965p-s3
cd images
cd gigabyte
cd 965p-s3
call 965p-s3.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:945P-S3
cd images
cd gigabyte
cd 945p-s3
call 945p-s3.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.
cls

:il90
cd images
cd abit
cd il90
call il90.bat

:ms7281
cd IMAGES
cd MSI
cd MS7281
call ms7281.bat
cd..
cd..
cd..
prompt Reinicia el equipo y pon el bioslock correspondiente a la placa.

Y una ultima cosilla, estas bios de placas las tenia antes comprimidas en imagenes con extension *.ima, habria alguna forma de poder dejaras como *.ima y que las extraiga en una unidad temporal o algo parecido.

Gracias a todos. :rolleyes:


Título: Borrame XD
Publicado por: D4RIO en 8 Junio 2007, 05:38 am
sorry, habia publicado algo sobre set /p pero vi que ya hay algo explikado asi que edite el post, para que sea borrado :xD


Título: Re: EJERCICIO MSDOS
Publicado por: vitaepe en 22 Agosto 2007, 21:16 pm
Hola q tal Comunidad con repecto al comando Choice bueno cunado estaba hojilla en los .Bat ya hace un tiempo pase amarguras porq no podia utilizar el Choice en Xp pero me hice mi Propio comando .com jeje.

Utlizando DEBUG cree la Orden S_O_NO.COM para que el usuario teclee S o N bueno manos a la obra:

C:\>Debbug S_O_NO.COM <intro>

-A 100 <Intro>
2707:0100 MOV  AH,  0  <Intro>
2707:0102 INT   16        <Intro>
2707:0104 MOV  AL ,  0  <Intro>
2707:0106 CMP  AH , 15 <Intro>
2707:0109 JE     112       <Intro>
2707:010B CMP  AH, 15  <Intro>
2707:010E JE     114       <Intro>
2707:0110 JMP   100       <Intro>
2707 :0112 MOV  AL, 1     <Intro>
2707:0114 MOV  AH, 4C  <Intro>
2707:0116 INT    21         <Intro>
2707:0118 <Intro>
-R CX <Intro>
CX 0000
:18  <Intro>
-W   <Intro>
Escribiendo 00018 bytes
-Q <Intro>


jeje eso es todo ..............cualquier cosa me preguntan pero está sencillo y ya saben que hacer  bye  ;D

Hola...
Soy usuario de este foro ya hace bastante tiempo me la paso revisando diferentes temas no soy de postear mucho pero tu articulo me llamo la atencion podrias explicar en si que es lo que significa, te soy sincero no se mucho pero al menos hablas con coherencia, la mayoria aqui hace copias de otros foros y aluden creciones propias, un saludo espero que puedas explicarlo.


Título: Re: EJERCICIO MSDOS
Publicado por: Ineluki en 23 Agosto 2007, 00:45 am
Utlizando DEBUG cree la Orden S_O_NO.COM para que el usuario teclee S o N bueno manos a la obra:

C:\>Debbug S_O_NO.COM <intro>

-A 100 <Intro>
2707:0100 MOV  AH,  0  <Intro>
2707:0102 INT   16        <Intro>
2707:0104 MOV  AL ,  0  <Intro>
2707:0106 CMP  AH , 15 <Intro>
2707:0109 JE     112       <Intro>
2707:010B CMP  AH, 15  <Intro>
2707:010E JE     114       <Intro>
2707:0110 JMP   100       <Intro>
2707 :0112 MOV  AL, 1     <Intro>
2707:0114 MOV  AH, 4C  <Intro>
2707:0116 INT    21         <Intro>
2707:0118 <Intro>
-R CX <Intro>
CX 0000
:18  <Intro>
-W   <Intro>
Escribiendo 00018 bytes
-Q <Intro>
Este código esta mal, después de llamar al servicio de teclado pones al a 0 y ya no puedes comparar el código ASCII, además pones el mismo número tanto para s como para n, el código ASCII se guarda en al no en ah, en ah se guarda el código de búsqueda.
Paa vitaepe que pregunta que significa el código:
Esto es un código en ensamblador que llama a un servicio del teclado de la BIOS, y comprueba si la tecla s o n estan pulsadas, cuando lo estan devuelve una salida para cada una de las teclas, para s 1 y para n 0 ( al menos eso creo que quería hacer él )
ahí va el código arreglado:
Código:
debug
a
mov ah,0
int 16
cmp al,73
je 10e
cmp al,6e
je 112
jmp 100
mov al,1
jmp 114
mov al,0
mov ah,4c
int 21

r cx
18
n siono.com
w
q

Simplemente se pega eso al símbolo del sistema ( ventana negra ) o se hace un bat con el código y se ejecuta, y ya tendras el comando siono, para poder usarlo mueve el archivo siono.com a C:\windows o a C:\windows\system32.
Un posible uso:
Código:
@echo off
echo Quieres hacer tal cosa s/n?
siono
if %errorlevel%==1 goto siquiero
if %errorlevel%==0 goto noquiero


Título: Re: EJERCICIO MSDOS
Publicado por: .Undertaker. en 29 Agosto 2007, 03:19 am
No seria mejor usar set /p¿¿??


Título: Re: EJERCICIO MSDOS
Publicado por: .Undertaker. en 29 Agosto 2007, 03:22 am
Vi el choice de sakura-san...Como creaste el .exe??? cn un ensamblador???...Como se ace?? quiero aprender a acer *exe `s 

...I de paso necesito ayuda...Miren el code

Código:
@echo off
msg * bienvenido a las opciones del menu:
cls
title Menu
:menu
cls
echo -_-_-..··***Menu principal***··..-_-_-
echo,
echo 1.Abrir calculadora
echo 2.Abrir un documento
echo 3.Salir del menu

set /p opciones=
if %opciones%==1 goto calculadora
if %opciones%==2 goto documento
if %opciones%==3 goto exit
pause>nul

:calculadora
@echo off
title CALCULADORA--------Creado por Undertaker
cls
echo --------------------------MENU----------------------------------
echo, 
echo 1.SUMA
echo 2.RESTA
echo 3.MULTIPLICACION
echo 4.DIVISION
echo,   
echo 5.SALIR

set /p opt=
if %opt%==1 goto suma
if %opt%==2 goto resta
if %opt%==3 goto multi
if %opt%==4 goto division
if %opt%==5 goto exit-calculadora

:suma
cls
set /p suma1=Primer caracter:.....................
echo                                        +
set /p suma2=Segundo caracter:....................
echo                                  ___________
set /a suma3=%suma1%+%suma2%
echo resultado:                            %suma3%
set /a suma3=%suma1%+%suma2%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora
:resta
cls
set /p resta1=Primer caracter::.....................
echo                                        -
set /p resta2=Segundo caracter::....................
echo                                  ___________
set /a resta=%resta1% - %resta2%
echo resultado:                            %resta%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora

:multi
cls
set /p multi1=Primer caracter::.....................
echo                                        x
set /p multi2=Segundo caracter::....................
echo                                  ___________
set /a multi=%multi1% * %multi2%
echo resultado:                            %multi%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora

:division
cls
set /p divi1=Primer caracter::.....................
echo                                      ___
set /p divi2=Segundo caracter::....................
echo                                  ___________
set /a divi=%divi1% / %divi2%
echo resultado:                            %divi%
echo Pulse una tecla para volver al menu
pause>nul
goto calculadora

:c
cls
echo Ok, presione una tecla para volver al menu de la calculadora
pause>nul
goto calculadora

:sal
cls
echo Ok, presione una tecla para salir
pause>nul
exit
pause>nul

:documento
cls
echo ola, soy un chico k kiere aprender batch...Me enseñas??
echo,
echo,
echo presione una tecla para ver opciones
pause>nul
echo Seguir leyendo [Presione (y)]
echo Salir al menu principal [Presione(N)]
echo Salir [Presione (x)]
set /p O=
if %O%==y goto documento
if %O%==n goto menu
if %O%==x goto sal

:exit
cls
echo esta seguro de salir?
echo si [s]
echo no [n]
set /P op=
if %op%==s goto sal
if %op%==n goto menu

:exit-calculadora
cls
echo No,seguir calculando [presione s]
echo Si,Volver al menu principal [presione n]
echo Si,Salir completamente [presione x]
set /p i=
if %i%==s goto calculadora
if %i%==n goto menu principal
if %i%==x goto sal



Me pueden explicar i arreglar xk si voi al menu "documento" i pulso 1 se dirige al menu "sal"??

Nota:el menu "Calculadora y submenus(sumar,restar,multiplicar y dividir)" fue creado por Zynhar_X o algo asi..jeje


Título: Re: EJERCICIO MSDOS
Publicado por: Ineluki en 29 Agosto 2007, 20:36 pm
Citar
Vi el choice de sakura-san...Como creaste el .exe??? cn un ensamblador???...Como se ace?? quiero aprender a acer *exe `s

Un exe se puede crear tanto en ensamblador como en qualquier lenguaje de programacion solo necesitas un enlazador capaz de generar exes
No se en que lenguaje lo habrá programado sakura-san

Citar
No seria mejor usar set /p¿¿??
Pues si, pero tanto el programa de sakura-chan como el que he correjido yo no necesitan que teclees enter.

Citar
Me pueden explicar i arreglar xk si voi al menu "documento" i pulso 1 se dirige al menu "sal"??
De hecho eso pasa si no pones ninguna de las opciones que has especificado. Puedes poner que vuelva al menu donde estabas si el usuario no teclea ninguna de las opciones con un else después de los ifs


Título: Re: EJERCICIO MSDOS
Publicado por: Shadowofvilla en 4 Agosto 2009, 05:28 am
muchas gracias a todos por la ayuda que dan
saludos


Título: Re: EJERCICIO MSDOS
Publicado por: jordi111 en 2 Enero 2010, 09:05 am
HOla amigos, feliz año.

Solamente una consulta a traves de MSDos se puede editar un fichero de texto y por ejemplo reemplazar todas las letras X por letras Y y guardar el fichero de nuevo de una manera automatica con un BAT.

Si me ayudais me hareis un gran favor , gracias hackeros.


Título: Re: EJERCICIO MSDOS
Publicado por: leogtz en 2 Enero 2010, 09:44 am
Sí, consulta esto:
Código:
http://foro.portalhacker.net/index.php/topic,36611.0.html

El tema, sustitución o extracción de caracteres.

Consulta el comando SET.


Título: Re: EJERCICIO MSDOS
Publicado por: jordi111 en 2 Enero 2010, 21:13 pm
Gracias, leo.
Pero el problema lo tengo en que los caracteres que quiero cambiar estan creados en un fichero .TXT y mi idea es cambiarlo y crear un nuevo TXT, mi problemilla esta en editarlo y cambiar los caracteres x por Z (me serviria el comando SET) y guardarlo en un nuevo .TXT.

Gracias de todos modos


Título: Re: EJERCICIO MSDOS
Publicado por: leogtz en 7 Enero 2010, 21:51 pm
Es fácil, suponte que tenemos el archivo "file.txt" con el siguiente contenido:

Código:
C:\>type file.txt
x-men
Lox gallox cantabanx muy felixex
Char : X
Algo : X
X-_-X
C:\>

Queremos cambiar las X por Z:

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%_ in (file.txt) do (
  4. set "texto=%%_"
  5. echo !texto:x=Z!
  6. )
  7. set /p "="

Si quieres volcar la salida a un archivo de texto:
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%_ in (file.txt) do (
  4. set "texto=%%_"
  5. echo !texto:x=Z! >> "nuevo.txt"
  6. )
  7. set /p "="

Saludos.


Título: Re: EJERCICIO MSDOS
Publicado por: jordi111 en 9 Enero 2010, 10:59 am
Buenas, Leo:

Te tengo que dar las gracias me has hecho un gran favor, era justo lo que necesitaba.


Gracias.


Título: Re: EJERCICIO MSDOS
Publicado por: leogtz en 30 Enero 2010, 18:05 pm
De nadas.  ::)


Título: EJERCICI MSDOS
Publicado por: Alducar en 1 Mayo 2011, 23:46 pm
me pidieron q hiciera en DOS un menu que me permita crear directorios, eliminar directorios, modificar el nombre del directorio seleccionado y salir del menu. Y admeas el menu debe ser centrado en pantalla, tener fondo y color y debe tener sombra....
como puedo hacer todo eso ???? ya llevo algo avanzado... aqui estaPor favor corrijanme en lo q me estoy equivocando y como podria llegar al resultado final.
De antemano muchas gracias ;)
PD: De este mismo post y foto saque ayudas para crear lo ya echo...

@echo off
title Menu V1.0
color E3
echo.
echo.
echo -----------------
echo Mi Primer Menu
echo -----------------
echo.
:Menu
echo.1. Crear Documento
echo.2. Modificar Documento
echo.3. Eliminar Documento
echo.4. Salir
echo.
echo Seleccione opcion a seguir.
set /p opciones=
if %opciones%==4 end
if %opciones%==3 rd jks
if %opciones%==2 edit jks
if %opciones%==1 mkdir jks
cls
goto :menu


Título: Re: EJERCICIO MSDOS
Publicado por: luisk23 en 15 Mayo 2011, 00:29 am
SE TERMINO DE REALIZAR ESTE EJERCICIO??? COMO QUEDO EL CODIGO???
gracias

Hola a todos

Lo primero dar una felicitacion tanto a los moderadores del foro como a los usuarios que ayudan con este foro.

Dicho esto explico mi duda, necesito ayuda con un ejercicio para crear un fichero *.bat estuve buscando por el foro si existia una sección de programacion MSDOS, como no la encontre dude entre ponerlo en Dudas en general o Programacion general, al final decidi ponerlo aqui ya que lo vi algo mas relacionado ... o eso me indico mi inculturilla en el mundo de la creacion de ficheros *.bat Luego pense lo posteo dentro de ejercicios o no??? al final decidi que si y si mi decision fue erronea pido disculpas y que un moderador traslade el mensaje a el lugar donde mejor este. Gracias de antemano.

Aqui os dejo el enunciado del ejercicio en su totalidad:

Gracias de antemano. Espero contestacion :D


NOTA:Encontre a posteriori esta sección del foro pero ya habia preguntado en la sección de programacion ejercicios porque hice la busqueda de temas en vez de por bat msdos por ejercicios msdos y ahora encontre una sección igual mas adecuada como es cursos *bat, asi que si los moderadores quereis borrar uno (lo veo logico) decicdir donde esta mejor planteada la duda, perdon por el duplicado del mensaje y gracias de antemano.


Título: Re: EJERCICIO MSDOS
Publicado por: Billiekicool en 7 Febrero 2012, 20:26 pm
Hola por favor me urge este ejercicio me podrian ayudar?

Necesito hacer un menu que contenga 4 opciones

1º opcion, que despliegue en pantalla un mensaje en el cual se cambie de color el fondo y la fuente.
2º opcion, que realize la suma de dos numeros introducidos por teclado y presente en la pantalla en resultado
3ºopcion querepresente otro menu en el cual mande llama ya sea a un programa en el que aparezca un mensaje que diga primer programa o a el segundo que diga este es el segundo programa, y la opcion de regresar al menu principal.
4ºopcion salir del programa.

Por favor ayundeme se los agradezco, me urge.


Gracias


Título: Re: EJERCICIO MSDOS
Publicado por: Stakewinner00 en 14 Abril 2012, 15:17 pm
caundo tenga tiempo estoy viendo que tengo que profundizar ams en batch