Bat para copiar y mover con parametros

Iniciado por djrubens, 15 Febrero 2017, 21:13 PM

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

djrubens

Hola, a ver si me podeis ayudar con un bat.
Tengo que hacer un bat el cual reciba 3 parametros, si recibe más o menos parametros dará error y finalizará, y si el número de parámetros es correcto hará una de las siguientes opciones en función del tercer parámetro.
Si el tercer parametro vale copiar se copiará el fichero indicado como primer parametro al directorio indicado como segundo parametro. Se debe comprobar antes que el fichero y directorio existen, sino es así dará error y finalizara.
La siguiente opción es lo mismo que antes pero ahora con el valor mover, y por último si el tercer parametro no vale ninguna de las dos opciones anteriores error, indicando que la sintaxis no es correcta.

Cada vez que lo ejecuto me hace esto si le pongo copiar o mover.

1 archivo(s) copiado(s)
La sintaxis del comando no es correcta.
La sintaxis no es correcta

Así lo tengo ahora mismo, y no se donde estoy fallando. Lo que si parece hacer bien es el if not

@echo off

:Inicio

set a=copiar
set b=mover

if #%3# == #%a%# goto copiar
if #%3# == #%b%# goto mover
if not #%3# == ## goto error

:copiar
xcopy %1 %2 /r /s

:mover
move %1 %2 /r /s

:error
echo La sintaxis no es correcta

:fin