Como ocultar mensajes de error en .bat?

malarcky

Bueno estoy haciendo un BAT para algo muy simple, y no encuentro la forma de que cuando la orden que yo le doy, por ej.: borrar un fichero .doc, y no lo encuentra, no me muestre el mensaje de error de "No se encuentra xxx". ¿Alguien sabe como? Gracias ;)

r2d2rigo

Creo recordar que era

@echo off

pero no me hagas mucho caso :P

GaMuSSo

echo off oculta todos los mensajes, incluso los normales.

Supongo que eso bastará para engañar al profesor de que tu script funciona. o no hahahah

Fijate que muchos de los comandos suelen tener un modo 'verbose' que te permite activar y desactivar a placer la salida de los mensajes generados por dicho comando. Con algunos no tendrás esa suerte, es MSDOS no le pidas mas.

ElRuso

Por tu error dedusco que quieres copear o mover un archivo. Con redirect te funcionaria.

Por ejemplo

copy 1.txt 2.txt > error.txt

error.txt seria el archivo a donde iria a parar el mensaje de error en vez del monitor. (el archivo se cree automaticamente).

Luego para ocultar los echo lo puedes borrar al final de batch file.

malarcky

El echo off lo estoy usando y oculta todo, menos los mensajes de error. He probado tambien lo que me dices ruso pero el caso esque no estoy moviendo ni copiando, estoy borrando archivos, y aveces, cuando no hay nada mas que borrar, me saca el mensaje de "No se encuentra ..." igual no se puede hacer para que no muestre ese mensaje, nolose :/

Soleil

Tal y como ha mencionado #4, usa redirecciones, pero en lugar de a archivo, al dispositivo nulo NUL, equivalente a /dev/null en sistemas Unix.

copy 1.txt 2.txt > NUL 
ElRuso

#5 Tonces usa redericcion de errores "2>"

del 1.txt 2> NUL
REM gracias #6 Por lo de NUL :)
malarcky

Ahora si, con la redireccion 2> gracias a todos :)

Usuarios habituales

  • malarcky
  • ElRuso
  • Soleil
  • GaMuSSo
  • r2d2rigo