problema con batch

Iniciado por 0xDani, 20 Abril 2012, 22:33 PM

0 Miembros y 1 Visitante están viendo este tema.

0xDani

bueno yo quiero hacer un programa que compruebe si existe un archivo en %homedrive% y en una unidad extraible recursivamente, para ello he utilizado un bucle if, pero me muestra el siguiente mensaje:
"No se esperaba if en este momento"

Les dejo el código:
Código (dos) [Seleccionar]

@echo off
:abc
if exist E: (goto e) else (goto no)

:e
if exist %homedrive%\abc.bat (goto copy)
pause
exit
:no
goto abc
:copy
copy %homedrive%\abc.bat E:
exit

--------------------o---------------------
perdonen que no presente el code como codigo,
es que soy nuevo,si me pueden decir que etiqueta utilizar lo agradeceria tambien.


I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Stakewinner00

#1
algo asi
Código (dos) [Seleccionar]
@echo off
:abc
if exist "A:\" (goto e) else (goto no)

:e
if exist "%homedrive%\abca.bat" goto copy
pause
exit
:no
goto abc
:copy
copy %homedrive%\abca.bat A:\
exit

esto probe de meter un archivo en c y lo copiaba a otra unidad es esto a lo k te refieres sino especifica mas lo k kieres




Elektro H@cker: Usa el botón para insertar códigos

Eleкtro

#2
Citarperdonen que no presente el code como codigo,
es que soy nuevo,si me pueden decir que etiqueta utilizar lo agradeceria tambien.

Para los nuevos, y los no tán nuevos, Hay que acostumbrense a usar este botón:






El código que posteaste dices que te da error, Pero el code no presenta ningún error en la comprobación, No da error.

No se si he entendido bien lo que intentas hacer, Pero intenta buscar los términos adecuados al formular tú pregunta, Lo comprobacion del directorio no es recursiva, Ni tampoco estás usando un bucle.

Te he hecho dos codes porque no entiendo el problema...
A ver si alguno te sirve, Aquí tienes:

Código (dos) [Seleccionar]
@echo off

:: Define el archivo
Set "FILE=%homedrive%\abc.bat"

:: Busca las unidades extraibles del PC y copia el archivo en cada unidad.
IF exist "%FILE%" (
For /F "tokens=3 delims=,:" %%X in ('wmic logicaldisk get name^,description /format:csv ^| Find /I "Extra"') Do (Copy "%FILE%" "%%X:\")
)
Pause



Código (dos) [Seleccionar]
@echo off
IF exist E: (
IF exist "%homedrive%\abc.bat" (Copy "%homedrive%\abc.bat" "E:\")
) ELSE (
Echo No existe
Pause
Exit
)


Salu2