Ms-Dos - MOVER ARCHIVO ARRASTRANDO A UN BAT

 
Vista:
sin imagen de perfil
Val: 12
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

MOVER ARCHIVO ARRASTRANDO A UN BAT

Publicado por Salvador1 (18 intervenciones) el 27/01/2018 11:21:55
Hola:

Tengo el siguiente código que lo que hace es que al arrastrar un archivo al icono bat que contiene el código (variable "UNO"), lo copia a otra carpeta (variable "DOS").

1
2
3
4
5
@echo off
Set /p UNO=%1
Set /P DOS = "C:\Users\usuario\Desktop\Nueva\"
copy %1 "DOS"
pause

El problema es que dice que se ha copiado 1 archivo, pero en realidad no copia nada.

¿Tiene solución?

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.389
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

MOVER ARCHIVO ARRASTRANDO A UN BAT

Publicado por Antoni Masana (649 intervenciones) el 27/01/2018 23:15:15
Prueba esto

1
2
3
4
5
@echo off
Set UNO=%1
Set DOS=C:\Users\usuario\Desktop\Nueva\
copy  "%Uno%"  "%Dos%"
pause

Fallo 1 SET /P espera una respuesta por standar input, normalmente por teclado.
Fallo 2 Asignas el nombre de fichero a copiar a una variable y no la usas.
Fallo 3 Asignas el nombre del destino a una variable y no la usas.
Fallo 4 Evita los espacios a la izquierda del igual, No es lo mismo esto: SET DOS = que esto: SET DOS=
Fallo 5 No poner comillas al origen por si hay espacios en el nombre
Fallo 6 Busca porque por alguna parte del disco debes tener uno o varios ficheros que se llaman DOS

Ejemplo Fallo 4
1
2
3
4
5
C:\>set DOS = A
C:\>set DOS=B
C:\>set D
DOS=B
DOS = A

Versión simplificada:
1
2
@COPY  "%1"  C:\Users\usuario\Desktop\Nueva\
@PAUSE

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

MOVER ARCHIVO ARRASTRANDO A UN BAT

Publicado por Salvador1 (18 intervenciones) el 28/01/2018 12:18:51
Muchas gracias, Antoni por tu corrección y detallada explicación.

Había hecho bastantes pruebas (con /p y sin /p, con % y sin %, etc ) antes de preguntar, pero no me había dado cuenta del espacio de más que había, y quizás por eso no atinaba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

MOVER ARCHIVO ARRASTRANDO A UN BAT

Publicado por Salvador (18 intervenciones) el 28/01/2018 12:24:08
Aprovecho por si puedes ayudarme en relación a este tema:

En el caso de arrastrar dos archivos a la vez al bat, ¿cómo habría que hacer para que copie ambos archivos? En este caso solo copia uno.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.389
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

MOVER ARCHIVO ARRASTRANDO A UN BAT

Publicado por Antoni Masana (649 intervenciones) el 29/01/2018 08:38:27
Prueba primero esto

1
2
3
4
5
6
7
8
9
10
@echo
set Dos=C:\Users\usuario\Desktop\Nueva\
:Siguiente
   if "%1" == "" goto Fin
   set Uno=%1
   copy  "%Uno%"  "%Dos%"
   shift
   goto Siguiente
:Fin
   pause

Versión Simple

1
2
3
4
5
6
7
8
@echo
:Siguiente
   if "%1" == "" goto Fin
   copy  "%1"  C:\Users\usuario\Desktop\Nueva\
   shift
   goto Siguiente
:Fin
   pause

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

MOVER ARCHIVO ARRASTRANDO A UN BAT

Publicado por salvador1 (18 intervenciones) el 30/01/2018 21:51:51
Funciona, muchas gracias Antoni.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar