¿El arranque @echo off en Batch es obligatorio? Sí No Sólo si el código tiene bucles Sólo si el código tiene condicionales. En Batch, si se quiere un if que indique que A es mayor a B se debe usar: GTR LSS NEQ GEQ. Sobre delayed expansion: Se debe activar siempre y llamar las variables con % Se debe activar siempre y llamar las variables con ! Se debe activar cuando las variables se deban avaluar en tiempo de ejecución. Se llaman las variables con % Se debe activar cuando las variables se deban avaluar en tiempo de ejecución. Se llaman las variables con !. Dado el siguiente código:
@echo off
Set var=1
:etiqueta
IF %var% EQU 1 (
GOTO etiqueta
)
ECHO Hola !
Pause > nul
¿Qué sale por pantalla? No saldrá nada Hola ! Saldrá un error @echo off. Para crear un programa en Batch que calcule el cambio que se debe devolver en una compra:
@echo off
set /p valor_articulo=Cuanto cuesta?
set /p dinero_cliente=Cuanto ha pagado el cliente?
set /a cambio=%valor_articulo%-%dinero_cliente%
echo Dinero a devolver: %cambio%
Responde la más cierta: No funciona ya que falta el Delayed Expansion. No funciona ya que Batch no puede hacer operaciones aritméticas. Funciona pero si el producto cuesta céntimos (por ejemplo 23,8 dólares) no funcionará. Funciona siempre. Dado el siguiente código:
@echo off
setlocal enabledelayedexpansion
set nombre=Jose
set passnum=1234
set /p apellidos=Entra apellidos:
if %nombre% == Jose (
echo Que
if !apellido! == Gracia (
echo Buen@ soy
if !passnum! == 1234 (
echo en batch!
)
)
Que Que
Buen@ soy Que
Buen@ soy
en batch! Ninguna de las opciones ya que la variable passnum no se debe llamar con ! sinó con %. Dado el siguiente código:
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,4) do (
set var=%%i
if !var! == 3 (
echo Es el numero 3
)
)
pause > nul
¿Qué sale por pantalla? No saldrá nada ya que var nunca valdrá 3 Saldrá un error Ninguna de las opciones Es el numero 3 . Teniendo el siguiente texto dentro de un fichero llamado file.txt
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and scrambled it to make a type specimen book.
Si se nos proporciona el siguiente código:
@echo off
for /f "tokens=2" %%i in (file.txt) do (
echo %%i
)
¿Qué sale por pantalla? Ipsum
Ipsum
an Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem
Lorem
when. El siguiente código, ¿Es correcto?
@echo off
set productPrice=20
echo %productprice%
pause > nul
Seleccione una: No, ya que productprice no está declarada. Sí, Batch no es case sensitive. No, falta ";" al terminar el set. No, falta setlocal enabledelayedexpansion. Set /a se usa: Para declarar variables de tipo numérico Para declarar variables de tipo texto Para declarar variables de tipo booleano Ninguna de las opciones.