esta parte no la entiendo
set filecontent=!filecontent!!currentline!
Simples variables.
se q va a parar a archivo.txt lo q no se es q va a parar ahi
Está mal, no hace falta escapar el caracter de comillas dobles
Es q como les habia mencionado esto es para enviar un correo desde un batch lo q hace es llamar a una pagina php teniendo como parametros el mensaje y el mensaje lo puse entre comillas para q no me marcara error al ingresar la direccion asi q si vieramos lo q tiene el archivo de texto tendriamos
http://pagina.enviarmensajes/index.php?mensaje="informacion q recopilamos"
esa es la razon de esa comilla espero haber respondido a lo q me preguntabas si no ahi me lo haces saber
con respecto a la otra cuestion a lo mejor lo raro son los ! ! y los ocupan para expandir las variables para evitar problemas en algunos loops o recursamientos o como los quieras llamar.
aqui esta la ayuda de windows donde viene explicado
Finalmente, se ha a¤adido compatibilidad para la expansi¢n de la variable
retardada.
Este soporte est siempre deshabilitado de forma predeterminada, pero puede
habilitarse o deshabilitarse a trav‚s del modificador de l¡nea de comandos
/V a CMD.EXE. Ver CMD /?
La expansi¢n de la variable de entorno es £til para tratar con las
limitaciones de la expansi¢n actual, las cuales ocurren cuando una l¡nea de
texto es le¡da, y no cuando se ejecuta. El siguiente ejemplo demuestra el
problema con la expansi¢n de la variable inmediata:
set VAR=antes
if "%VAR%" == "antes" (
set VAR=despu‚s
if "%VAR%" == "despu‚s" @echo Si esto se puede ver, entonces
significa que funcion¢
)
dado que %VAR% se sustituye al mismo tiempo en ambas instrucciones IF
cuando se lee la primera instrucci¢n IF, pues incluye l¢gicamente al cuerpo
del IF, el cual es una instrucci¢n compuesta. De esta manera, IF, dentro de
la instrucci¢n compuesta est realmente comparando "antes" con "despu‚s" lo cu l
nunca ser igual. De un modo parecido, el siguiente ejemplo no funcionar
como se espera:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
en esto NO generar una lista de archivos en el directorio actual, pero en
su lugar establecer la variable LIST en el £ltimo archivo encontrado. De
nuevo, esto ocurre porque %LIST% es expandido s¢lo una vez cuando la
opci¢n FOR es le¡da, y en ese momento la variable LIST variable est vac¡a.
As¡ el ciclo actual FOR que se est ejecutando es:
for %i in (*) do set LIST= %i
el cual s¢lo mantiene el valor LIST hasta el £ltimo archivo encontrado.
La expansi¢n de la variable de entorno retardada permite utilizar un
car cter diferente (el signo de exclamaci¢n para expandir variables en
tiempo de ejecuci¢n. Si la expansi¢n de la variable retardada est
habilitada, los ejemplos se pueden escribir de la siguiente manera para
que funcionen como es necesario:
set VAR=antes
if "%VAR%" == "antes" (
set VAR=despu‚s
if "!VAR!" == "despu‚s" @echo Si esto se puede ver, entonces
significa que funcion¢
)
set LIST=
for %i en (*) do set LIST=!LIST! %i
echo %LIST%
espero te ayude