batch %algo%, [algo]>>algo

Iniciado por Pirat3net, 9 Mayo 2011, 13:23 PM

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

Pirat3net

pues no entiendo para que se usa el encerrar algo entre simbolos "%".tampoco entiendo para que se usa ncerrar algo entre corchetes, y tampoco adivino el uso del doble direccionamiento >>
si alguien me explica en modo para tontos agradezco

SuperDraco

Ok, modo para tontos - ON    XD

La verdad es que tampoco se explicarlo mucho mejor, hallá voy con mis ejemplos...


Si usas un solo > lo que estás haciendo es crear un archivo y/o reemplazando el archivo existente.

Código (dos) [Seleccionar]
echo hola > ejemplo.txt

Con ese código se crea el archivo ejemplo.txt( reemplazando cualquier archivo existente) con el contenido "hola"

Otro ejemplo de un solo >, sería este código que está mal, porque con la segunda línea lo único que conseguimos es sobreescribir el archivo que creamos en la primera línea.

Código (dos) [Seleccionar]
echo hola > ejemplo.txt
echo hola2 > ejemplo.txt



En cambio si usas dos >> sirve para seguir escribiendo debajo del archivo, sin que este sea reemplazado.

Código (dos) [Seleccionar]
echo hola > ejemplo.txt
echo hola2 >> ejemplo.txt
echo hola3 >> ejemplo.txt



Usa los ejemplos en la consola y notarás la diferencia.







Los porcentajes no se usan para encerrar nada, te estás confundiendo, esto no te lo voy a explicar mucho, porque aunque es fácil de comprender debes leer un manual BÁSICO de batch, donde lo explican perfectamente, eso que tu llamas encerrar entre %, se llaman variables y también hay variables de entorno.

Ejemplo:

Código (dos) [Seleccionar]
Set variable1=soy la variable uno
echo %variable1% > ejemplo.txt



Ejemplo dos:

Código (dos) [Seleccionar]
echo Esto es una variable de entorno: %windir%





Lo de los corchetes.. habría que ver el código original de donde lo viste, que yo sepa no hay ninguna "norma general" sobre usar corchetes. Podria ser que el nombre del archivo llevase corchetes y por eso los vistes puestos... etc.




En fin, tus dudas las habrías arreglado leyendote un manual de batch básico, así que si tienes más preguntas tán fáciles, no preguntes, LEE.
No he vuelto, solo estoy de paso.

Pirat3net

me quedo bastante claro sobre las variables ya controlo algo tras leer un poco
gracias por la respuesta
los corchetes los encontre por ejemplo en este codigo al final
http://hackers.esforos.com/propagar-de-usb-a-usb-un-codigo-malicioso-con-batch-by-blex-t38

vengo de aprender lo basico de java

SuperDraco

Los corchetes no tienen que ver con ninguna función de batch.


FOR %%A IN (D E F G H I J K L M N O P Q R S T U W X Y Z) DO (echo [Autorun] > %%A:\AutoRun.inf)


Lo único que hace es escribir con "echo" la palabra "[Autorun]" (Con corchetes incluidos) en el autorun.inf
No he vuelto, solo estoy de paso.

tomythedrumer

el > sirve para hacer una ejecucion sobre algo que lo este apuntando
por ejemplo:
echo "hola" > ejemplo.txt
hara que dentro del archivo .txt se escriba la palabra "hola"
si pones el signo mayor 2 veces se seguira escribiendo en la linea de abajo sin borrar
el "hola"
esto es util para cuando deseas escribir en un archivo de texto algo con hartas lineas
de texto
por ejemplo prueba esto:
tasklist >> tasklist.txt y luego abres el archivo tasklist.txt y veras que se escrbieron todos los procesos uno debajo de otro en el archivo ::)