Cuestión : El DOS trata la escritura para copiar/archivos de la cancelación por lotes con la fecha en nombre de fichero

Puede alguien ayudarme a escribir una escritura de la hornada del DOS que haga el siguiente cuando funcionamiento: movimiento del

1) todos los archivos con la extensión de .trn o de .bak en una trayectoria de red con una fecha en el nombre de fichero que es más entonces 1 semana de viejo a partir del día run.
Example: fecha 7/23/2010
Files del
Run en carpeta: Test_file_201007100020.trn
Test_file_201007220020.trn
Test_file_201007100020.bak
Test_file_201007100020.temp
The archiva Test_file_201007100020.trn, Test_file_201007100020.bak se mueve a la localización de la red, el resto de los archivos se dejan archivos de la cancelación del alone

2) con un .trn o un .bak de la localización de la red con una fecha en el nombre de fichero más viejo de 4 semanas de hoy:
Example: fecha 7/23/2010
Files del
Run en carpeta: Test_file_201006100020.trn
Test_file_201007220020.trn
Test_file_201006100020.bak
Test_file_201006100020.temp

The archiva Test_file_201006100020.trn, Test_file_201006100020.bak se suprime de la localización de la red, el resto de los archivos se deja el alone
class= del

Respuesta : El DOS trata la escritura para copiar/archivos de la cancelación por lotes con la fecha en nombre de fichero

La autorización, volviendo a donde estaba -1 cambia hace, y corrigiendo el problema allí (utilizaba %%~tA en vez de %%~nA para conseguir la fecha de él archivo nombre), considera cómo va ésta.

~bp
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:
@echo apagado
EnableExtensions setlocal EnableDelayedExpansion
 
El REM define localizaciones de la fuente y de la destinación, y archiva patrones para copiar
fijar SourceDir= c:\temp\EE26352923\source
fijar DestDir= c:\temp\EE26352923\dest
fijar MatchExts=*.trn *.bak
 
El REM consigue la fecha de hoy y convierte a juliano
para /F “tokens=2-4 delims=/” %%A adentro (“%DATE%") fija TodaysDate=%%C%%A%%B
llamada: jdate TodaysJDate el %TodaysDate%
 
El REM se mueve al directorio de fuente, encuentra todos los archivos el emparejar del patrón deseado
pushd los “%SourceDir%”
para %%A adentro (los %MatchExts%) hacer (
  El REM consigue la fecha de la modificación de los archivos, convertido a juliano
  fijar FileDate=%%~nA
  llamada: ¡jdate FileJDate! FileDate: ¡~-12.8!
  El REM calcula la edad del archivo en días, si más viejo de 7 días se mueven a la destinación
  ¡fijar /A FileAge=%TodaysJDate%-! ¡FileJDate!
  ¡si! ¡FileAge! 7 GTR mueven “%%~A” el “%DestDir%”
)
popd
 
El REM se mueve al directorio de destinación, encuentra todos los archivos el emparejar del patrón deseado
pushd los “%DestDir%”
para %%A adentro (los %MatchExts%) hacer (
  El REM consigue la fecha de la modificación de los archivos, convertido a juliano
  fijar FileDate=%%~nA
  llamada: ¡jdate FileJDate! FileDate: ¡~-12.8!
  El REM calcula la edad del archivo en días, si cancelación de más viejo de 28 días de la destinación
  ¡fijar /A FileAge=%TodaysJDate%-! ¡FileJDate!
  ¡si! ¡FileAge! 28 del GTR “%%~fA”
)
popd
 
salir /b
 
Subrutina del REM para calcular la fecha juliana
: fecha-secuencia volver-variable del jdate (YYYYMMDD) 
  fijar DateStr=%~2
  fijar yy=%DateStr: el ~0.4%
  fijar /A mm=1%DateStr: ~4.2%-100
  fijar /A dd=1%DateStr: ~6.2%-100
  fijar /a el “yy=10000%yy% %%10000, mm=100%mm% el %% 100, el dd=100%dd% el %% 100”
  fijar /a %~1=dd-32075+1461* (yy+4800+ (mm-14) /12) /4+367* (mm-2- (mm-14) /12*12) /12-3* ((yy+4900+ (mm-14) /12) /100) /4
  salir /b
Otras soluciones  
 
programming4us programming4us