@echo off
set fin="03/07/2010"
if %DATE%==fin
(erase /q "D:\a.txt"
)else(
erase /q "D:\b.txt"
)
NOTA del mod:
Pon el código con sus respectiva etiqueta, sino tu mensaje será borrado, primera y última advertencia.
if condicion ( bloke de codigo ) else ( otro bloke )
no estoy segurpo que se puedan agrupar con {} fijate
saludos
tenias razon... no me acordaba pero.. sigue sin ir! :(
sacale las comillas al set
set fin=03/07/2010
y
if %DATE%==fin
es
if %DATE%==%fin%
NADA :... :S
@echo off
set fin=03/07/2010
if %DATE%==%fin%
(erase /q "D:\a.txt"
)else(
erase /q "D:\b.txt"
)
saca erase
pone del
del /f /q /s archivo.txt
NADA :S
@echo off
set fin=03/07/2010
if %DATE%==%fin%
(del /f /q /s"D:\a.txt"
)else(
del /f /q /s"D:\b.txt"
)
@echo off
set fin=03/07/2010
if %DATE%==%fin% (
echo la fecha es %fin%
) else (
echo la fecha es distinta a %fin%
)
pause > nul
estamos en las mismas con mi codigo no va... xD
el mio si va
recien lo probe
fijate en los espacios
)else
deja un espacio entre los separadores ()
pruebalo con este y veras...
@echo off
set fin=03/07/2010
if %DATE%==%fin%
(erase /q "D:\a.txt"
) else (
erase /q "D:\b.txt"
)
pause > nul
usa del
leiste algun manul de batch ?
anda a leer de nuevo y proba nuevamente
saludos
@echo off
set fin=03/07/2010
if %DATE%==%fin%
(del /f /q /s "D:\a.txt"
) else (
del /f /q /s "D:\b.txt"
)
pause > nul
sigue = y... el erase y el del es lo MISMO
@echo off
set fin=03/07/2010
if %DATE%==%fin%(
del /f /q /s "D:\a.txt"
) else (
del /f /q /s "D:\b.txt"
)
pause > nul
NADAAA
q error te sale '
a ver dame info , no soy adivino
tenes los archivos creados ?
si los tengo creados prueba el codigo y veras!
@echo off
set fin=03/07/2010
if %DATE%==%fin% (del D:\test.txt) else (del D:\try.txt)
pause > nul
Si funciona supradyn, estás seguro de que están en el disco "D" y no es en un sub-folder, y que "D:\" es un HDD y no un CD?
(*) Si es un CD es posible que no lo puedas borrar ya que no puedes alterar lo que ya está fijado magneticamente en el disco
(**) Y si es en un HDD y es un sub-folder debes dar la ruta completa o usar cd para llegar allí
-= EDITO =-
Me gustaría aclarar que lo probé en un mismo disco rígido (c:\) en una partición (f:\) y en otro HHD esclavo (G:\), además lo hice en una SD (H:\) y un USB (también en H:\) así que algo más debe estar generándote el error, te sugiero que nos digas con que errorlevel finaliza el batch, eso a veces ayuda, saludos
No puede ser asi??
@echo off
date | find "03/07/2010" && (goto Si) || else goto no
:si
del /q /f /s D:\a.txt
exit.
:no
del /q /f /s D:\b.txt
exit.
en realidad debe ser ASI:
@echo off
echo. %date% | find "03/07/2010" && (goto si) || else (goto no)
:si
del /q /f /s "D:\a.txt"
exit
:no
del /q /f /s "D:\b.txt"
exit
ERRORES:
*) Pusiste "date" y es un comando para VER Y RECONFIGURAR la fecha, para SOLO VER LA FECHA se hace un "echo %date%".
**) Mal llamado a los labels (pusiste "goto Si" y el label es ":si" Batch DISTINGUE las mayúsculas y minúsculas en los labels).
***) Faltan paréntesis en la declaración del condicional negativo (pusiste "else goto no" y es "else (goto no)").
****) Faltan las comillas de la ruta al archivo a borrar.
Saludos
Y si cambiamos el == por EQU??
Suponiendo que los archivos esten creados.
@echo off
set fin=03/07/2010
if %DATE% EQU %fin% (erase /q "d:\a.txt" & echo borrado a.txt) else (erase /q "d:\b.txt" & echo borrado b.txt)
pause > nul
Es lo mismo, solo que el que hizo el post nunca más le vimos el pelo...