Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: 0xDani en 20 Abril 2012, 22:33 PM

Título: problema con batch
Publicado por: 0xDani en 20 Abril 2012, 22:33 PM
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.


Título: Re: problema con batch
Publicado por: Stakewinner00 en 20 Abril 2012, 23:27 PM
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
Título: Re: problema con batch
Publicado por: Eleкtro en 21 Abril 2012, 00:34 AM
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:

(http://img542.imageshack.us/img542/8240/prtscrcapture2y.jpg)




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