Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: gerhy13 en 2 Febrero 2015, 22:40 pm



Título: Script per fer una copia - batch
Publicado por: gerhy13 en 2 Febrero 2015, 22:40 pm
Queria saber como hacer este script gracias:

Crea un archivo de procesamiento por lotes que haga copias de los documentos que cumplan unos requisito de extensión y los copiará de la ruta indicada como segundo parámetro en la ruta que se le indique como tercer parámetro. El Script deberá comprobar que la carpeta origen y destino existen así como deberá comprobar que no se produzca ningún error durante la copia, de forma que avisaría al usuario si se en produjera alguno. Ninguna instrucción del script debe generar salida por pantalla, a excepción de aquellas generadas por el propio script.

ejemplo:
c: \> ex.bat * .doc c: \ documentos c: \ BKS

Este ejercicio copiaría todos los documentos con extensión doc que hubiera en la carpeta c: \ documentos y los pondría en c: \ BKS

Gracias  :huh: :P :P



(http://imageshack.com/a/img903/3185/hKVZS8.png)



[MOD]: No hagas doble post.


Título: Re: Script per fer una copia - batch
Publicado por: Eleкtro en 3 Febrero 2015, 02:00 am
¿Y que es lo que no entiendes exactamente?.

PD: Crec que ja saps el que tens que fer i mostrarnos si vols millor ayuda, ¡ intenta fer algo del exercici per ti sol !.
(mi Catalán de Valencia no es muy bueno xD)

Saludos


Título: Re: Script per fer una copia - batch
Publicado por: gerhy13 en 3 Febrero 2015, 10:00 am
Tengo esto pero no me da resultado:

Código
  1. @ECHO off
  2.  
  3. IF NOT EXIST C:\documents (
  4.  ECHO La carpeta documents no existeix
  5.  PAUSE
  6.  EXIST
  7.  ) ELSE (
  8.  GOTO check
  9. )
  10.  
  11. :check
  12. IF NOT EXIST C:\bks (
  13.  MKDIR C:\bks
  14.  GOTO copiar
  15.  ) else (
  16.  GOTO copiar
  17. )
  18.  
  19. :copiar
  20. COPY \Y *.doc C:\documents > C:\bks
  21. ECHO La copia a finalitzat


Título: Re: Script per fer una copia - batch
Publicado por: Eleкtro en 3 Febrero 2015, 18:52 pm
El ejercicio te está indicando que uses argumentos:

test.bat
Código
  1. @Echo OFF
  2.  
  3. Set "fileExt=", "sourceDir=", "outputDir="
  4.  
  5. If "%~1" NEQ "" (Set "fileExt=%~1")
  6. If "%~2" NEQ "" (Set "sourceDir=%~2")
  7. If "%~3" NEQ "" (Set "outputDir=%~3")
  8.  
  9. REM comprobar si sourceDir existe
  10. REM comprobar si outputDir existe
  11.  
  12. Copy /y "%sourceDir%\*.%fileExt%" "%outputDir%\"
  13. REM Comprobar si hubo errores
  14. REM If %ERRORLEVEL%...
  15.  
  16. Pause&Exit /B 0

Modo de empleo:
Código:
test.bat "doc" "C:\source" "C:\destiny"

saludos