Copiar archivo, y si existe, renombrarlo
Publicado por Salvador1 (18 intervenciones) el 31/01/2018 23:14:17
Hola:
Lo que hace el código es copiar un archivo (arrastrado al icono .bat) a una carpeta (llamada "Nueva"), si no existe el archivo en dicha carpeta lo copia, y si no, te pide un nuevo nombre y hace la copia.
La dificultad la tengo justo después de la línea 46, es decir: hay que comprobar que el archivo renombrado no exista, pero no sé como hacer para que te pida un nuevo nombre. He probado con un goto a la variable NOMBRE (línea 43), pero en cuanto llega de primeras, da error.
Agradecería cualquier ayuda.
Lo que hace el código es copiar un archivo (arrastrado al icono .bat) a una carpeta (llamada "Nueva"), si no existe el archivo en dicha carpeta lo copia, y si no, te pide un nuevo nombre y hace la copia.
La dificultad la tengo justo después de la línea 46, es decir: hay que comprobar que el archivo renombrado no exista, pero no sé como hacer para que te pida un nuevo nombre. He probado con un goto a la variable NOMBRE (línea 43), pero en cuanto llega de primeras, da error.
Agradecería cualquier ayuda.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
cls
set UNO=%1
Set DOS=C:\Users\usuario\Desktop\Nueva\
Set TRES=%~n1%~x1
Set CUATRO=%~P1 (RUTA CORTA SIN NOMBRE)
Set EXTENSION=%~x1
If exist "%DOS%%TRES%" (
Cls
COLOR C
echo Duplicado
pause
GOTO AQUI
) ELSE (
cls
copy "%UNO%" "%DOS%"
pause
Cls
COLOR A
Echo Copiado con exito
Pause
Exit
)
:AQUI
ECHO ****************************
ECHO * 1.- Renombrar
ECHO * 2.- Salir
ECHO ****************************
CHOICE /C 12
IF ERRORLEVEL 2 GOTO SALIR
IF ERRORLEVEL 1 GOTO RENOMBRAR
:RENOMBRAR
cls
COLOR A
Echo RENOMBRAR:
Set/P NOMBRE=Nuevo nombre:
iF EXIST "%DOS%%NOMBRE%%EXTENSION%" (
Echo "Ya existe. Prueba otro nombre")
ELSE (
ren "%DOS%%TRES%" "%NOMBRE%%EXTENSION%"
pause
exit )
:SALIR
cls
COLOR B
Echo Saliendo.......
pause
Valora esta pregunta
0