Ms-Dos - Respaldo de archivos con el mismo nombre

 
Vista:

Respaldo de archivos con el mismo nombre

Publicado por ArG (1 intervención) el 08/08/2023 21:27:30
Buena tarde soy nuevo en este foro y necesito apoyo con lo siguiente necesito una tarea que me ayude con lo siguiente:
Tengo una carpeta donde genero unos archivos de respaldo de una aplicacion, estos archivos los subo a una nube de manera manual, sin embargo necesito una tarea que me mueva esos archivos a mi nube ahora necesito que se eliminen del origen y se guarden en el destino el detalle es que la tarea inicial le pone como nombre ARCHIVO.zip.tmp si se vuelve a generar genera el ARCHIVO.zip.tmp1 si eliminas el primero vuelve a generar un archivo con el nombre incial pero si se copia no quiero que se pierda el inicial si no que ambos se guarden en el destino sin que se sobreescriban si no que se guarden con nombres diferentes.

Gracias
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.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Respaldo de archivos con el mismo nombre

Publicado por Antoni Masana (811 intervenciones) el 16/08/2023 12:08:24
Este proceso se soluciona el problema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@echo off
set Orig=C:\LWP\Origen
set Dest=C:\LWP\Destino
 
cd %Orig%
For %%a in (ARCHIVO.zip.tmp*) do call :Mover %%a
goto :EOF
 
:Mover
	set num=0
	if not exist %Dest%\%1 (
		move %1 %Dest%
		goto :EOF
	)
 
:Mover_2
	set /A num+=1
	set File=ARCHIVO.zip.tmp%num%
	if not exist %Dest%\%File% (
		copy %1 %Dest%\%File%
		del  %1
		goto :EOF
	)
	goto Mover_2

A mi me gusta más la numeración alineada a la derecha, es decir en lugar de asi ARCHIVO.zip.tmp1 de esta forma ARCHIVO.zip.tmp0001

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
@echo off
set Orig=C:\LWP\Origen
set Dest=C:\LWP\Destino
 
cd %Orig%
For %%a in (ARCHIVO.zip.tmp*) do call :Mover %%a
cd C:\Download\LWP\RESPALDO
goto :EOF
 
:Mover
	set num=0
 
:Mover_2
	set /A num+=1
	if %Num% LEQ 9999 set File=ARCHIVO.zip.tmp%num%
	if %Num% LEQ  999 set File=ARCHIVO.zip.tmp0%num%
	if %Num% LEQ   99 set File=ARCHIVO.zip.tmp00%num%
	if %Num% LEQ    9 set File=ARCHIVO.zip.tmp000%num%
 
	if not exist %Dest%\%File% (
		copy %1 %Dest%\%File%
		del  %1
		goto :EOF
	)
	goto Mover_2

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