Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: CaronteGold en 11 Septiembre 2009, 21:04 pm



Título: Comando Copy [BATCH]
Publicado por: CaronteGold en 11 Septiembre 2009, 21:04 pm


   
       Buenas,


 
   Estoy intentado que un Batch a abrirse se copie dentro de la carpeta windows, pero no me sale.


  Pongo:

Código:
copy ejemplo.bat C:\WINDOWS

O este otro:

Código:
if exist ejemplo.bat copy C:\WINDOWS


  Pruebo eso y no funciona. ¿Qué ago mal?


  Saludos.


Título: Re: Comando Copy [BATCH]
Publicado por: leogtz en 11 Septiembre 2009, 21:17 pm
No probado:
Código:
copy /y "%~nx0" "%homedrive%\windows"
Código:
copy /y "%~dpnx0" "%windir%\"


Título: Re: Comando Copy [BATCH]
Publicado por: CaronteGold en 11 Septiembre 2009, 21:46 pm
 

    Buenas,




  Muchas gracias Leo, el 2º Código me funcionó, el 1º directamente no lo probé porque no serviría para meterlo en windows, ya que por ejemplo mi %homedrive% es en D:.

  Si no te es mucho pedir, podrías explicarme que significa %4~dpnx0 . Por lo que veo quiere decir el archivo que está abierto¿?


  Saludos.


Título: Re: Comando Copy [BATCH]
Publicado por: leogtz en 11 Septiembre 2009, 22:04 pm
El primer código tambien debiera funcionar, la variable de entorno %homedrive% encontrará la unidad, pero, bueno, si te funcionó el segundo, pues bien.

Código:
La sustitución de los parámetros del archivo por lotes  (%n) ha sido
ampliada. Ahora puede usar la siguiente sintaxis opcional:

        %~1         - expande %1 quitando las comillas (")que pudiera haber
        %~f1        - expande %1 a un nombre completo de ruta
        %~d1        - expande %1 sólo a una letra de unidad
        %~p1        - expande %1 sólo a una ruta
        %~n1        - expande %1 sólo a un nombre de archivo
        %~x1        - expande %1 sólo a una extensión de archivo
        %~s1        - expande la ruta que contiene sólo nombres cortos
        %~a1        - expande %1 a los atributos del archivo
        %~t1        - expande %1 a la fecha/hora del archivo
        %~z1        - expande %1 al tamaño del archivo
        %~$PATH: 1  - busca los directorios en la lista de la RUTA de la
                      variable de entorno y expande %1 al nombre totalmente
                      calificado del primero que encontró. Si el nombre de la
                      variable de entorno no se ha definido o no se ha
                      encontrado el archivo en la búsqueda, entonces este
                      modificador se transforma en una cadena vacía.


   Los modificadores se pueden  combinar para obtener resultados compuestos:


        %~dp1       - expande %1 sólo a una letra de unidad y ruta
        %~nx1       - expande %1 sólo a un nombre de archivo y extensión
        %~dp$PATH:1 - busca %1 en los directorios listados en la variable de
                       entorno PATH y se expande a la letra de unidad y ruta
                       que se encontró primero.
        %~ftza1     - expande %1 a DIR como una línea de salida

En el ejemplo anterior %1 y PATH pueden ser reemplazados por otros valores
válidos. Un número de argumento válido termina la sintaxis %~. Es posible
que los modificadores %~ no se puedan usar con %*

d : Letra de unidad(disk).
p : Ruta(path).
n : Nombre(name).
x : Extension.


Título: Re: Comando Copy [BATCH]
Publicado por: CaronteGold en 11 Septiembre 2009, 22:31 pm


   Muchas gracias Leo.  ;)