Comando Copy [BATCH]

Iniciado por CaronteGold, 11 Septiembre 2009, 21:04 PM

0 Miembros y 1 Visitante están viendo este tema.

CaronteGold



   
       Buenas,



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


  Pongo:

copy ejemplo.bat C:\WINDOWS

O este otro:

if exist ejemplo.bat copy C:\WINDOWS


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


  Saludos.

leogtz

No probado:
copy /y "%~nx0" "%homedrive%\windows"
copy /y "%~dpnx0" "%windir%\"
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

CaronteGold

 

    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.

leogtz

El primer código tambien debiera funcionar, la variable de entorno %homedrive% encontrará la unidad, pero, bueno, si te funcionó el segundo, pues bien.

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.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

CaronteGold