Foro de elhacker.net

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
  1. @echo off
  2. :abc
  3. if exist E: (goto e) else (goto no)
  4.  
  5. :e
  6. if exist %homedrive%\abc.bat (goto copy)
  7. :no
  8. goto abc
  9. copy %homedrive%\abc.bat E:
--------------------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
  1. @echo off
  2. :abc
  3. if exist "A:\" (goto e) else (goto no)
  4.  
  5. :e
  6. if exist "%homedrive%\abca.bat" goto copy
  7. :no
  8. goto abc
  9. copy %homedrive%\abca.bat A:\
  10.  
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
Citar
perdonen 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
  1. @echo off
  2.  
  3. :: Define el archivo
  4. Set "FILE=%homedrive%\abc.bat"
  5.  
  6. :: Busca las unidades extraibles del PC y copia el archivo en cada unidad.
  7. IF exist "%FILE%" (
  8. For /F "tokens=3 delims=,:" %%X in ('wmic logicaldisk get name^,description /format:csv ^| Find /I "Extra"') Do (Copy "%FILE%" "%%X:\")
  9. )


Código
  1. @echo off
  2. IF exist E: (
  3. IF exist "%homedrive%\abc.bat" (Copy "%homedrive%\abc.bat" "E:\")
  4. ) ELSE (
  5. Echo No existe
  6. )

Salu2