Add Auto-Backup

This commit is contained in:
r0n1n7an 2023-08-05 16:12:02 +08:00
parent c5b9e86374
commit 9113b09187
5 changed files with 81408 additions and 4410 deletions

77218
AOD.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,4 @@
010ASTAT1.CRI 010ASTAT1.CRI
010MCM11B.7Z
010MCM11B.CRI
010MCM30B.7Z 010MCM30B.7Z
010MCM30B.CRI 010MCM30B.CRI
0CS7030.7Z 0CS7030.7Z
@ -12,9 +10,6 @@
0D9A003B.CRI 0D9A003B.CRI
0D9A00HA.CRI 0D9A00HA.CRI
0L10CF01B0.CRI 0L10CF01B0.CRI
4gpb113e.cri
4gpb115e.cri
4gpb123e.cri
AOD_LZS2_SIT1PTP_Win11.DAT AOD_LZS2_SIT1PTP_Win11.DAT
CMIT_SERVER_IP.TXT CMIT_SERVER_IP.TXT
CYUIDRG5.001 CYUIDRG5.001
@ -48,14 +43,10 @@ E001POWW.CRI
E001POWW.IMZ E001POWW.IMZ
E001TAWW.CRI E001TAWW.CRI
E001TAWW.IMZ E001TAWW.IMZ
E0020VWW.CRI
E0020VWW.IMZ
E0021VWW.CRI E0021VWW.CRI
E0021VWW.IMZ E0021VWW.IMZ
E002IOWW.CRI E002IOWW.CRI
E002IOWW.IMZ E002IOWW.IMZ
E002P8W0.CRI
E002P8W0.IMZ
E0030VWW.CRI E0030VWW.CRI
E0030VWW.IMZ E0030VWW.IMZ
E0031VWW.CRI E0031VWW.CRI
@ -71,77 +62,19 @@ E003UGCN.IMZ
E003WHWWT.CRI E003WHWWT.CRI
E0041VWW.CRI E0041VWW.CRI
E0041VWW.IMZ E0041VWW.IMZ
E004A0WW.CRI
E004A0WW.IMZ
E004LFCN.CRI
E004LFCN.IMZ
E0051VWW.CRI E0051VWW.CRI
E0051VWW.IMZ E0051VWW.IMZ
E005LFCN.CRI E005LFCN.CRI
E005LFCN.IMZ E005LFCN.IMZ
E005O0DK.CRI
E005O0DK.IMZ
E005O0NL.CRI
E005O0NL.IMZ
E005ODCR.CRI
E005ODCR.IMZ
E005ODCZ.CRI
E005ODCZ.IMZ
E005ODFI.CRI
E005ODFI.IMZ
E005ODFR.CRI
E005ODFR.IMZ
E005ODGR.CRI
E005ODGR.IMZ
E005ODHB.CRI
E005ODHB.IMZ
E005ODHU.CRI
E005ODHU.IMZ
E005ODIN.CRI
E005ODIN.IMZ
E005ODNO.CRI
E005ODNO.IMZ
E005ODPL.CRI
E005ODPL.IMZ
E005ODPO.CRI
E005ODPO.IMZ
E005ODRU.CRI
E005ODRU.IMZ
E005ODSK.CRI
E005ODSK.IMZ
E005ODSL.CRI
E005ODSL.IMZ
E005ODSP.CRI
E005ODSP.IMZ
E005ODSR.CRI
E005ODSR.IMZ
E005ODSV.CRI
E005ODSV.IMZ
E005ODTR.CRI
E005ODTR.IMZ
E005ODUR.CRI
E005ODUR.IMZ
E005PDWW.CRI
E005PDWW.IMZ
E005PIWW.CRI E005PIWW.CRI
E005PIWW.IMZ E005PIWW.IMZ
E006LDCN.CRI
E006LDCN.IMZ
E006ODCT.CRI
E006ODCT.IMZ
E006TAWW.CRI E006TAWW.CRI
E006TAWW.IMZ E006TAWW.IMZ
E007LDCN.CRI
E007LDCN.IMZ
E008LGCN.CRI E008LGCN.CRI
E008LGCN.IMZ E008LGCN.IMZ
E009P8W0.CRI E009P8W0.CRI
E009TAWW.CRI E009TAWW.CRI
E009TAWW.IMZ E009TAWW.IMZ
E00B06WW.CRI
E00B06WW.IMZ
E00C0SWW.CRI
E00C0SWW.IMZ
E00CLGCN.CRI E00CLGCN.CRI
E00CLGCN.IMZ E00CLGCN.IMZ
E00EP8W0B.AOD E00EP8W0B.AOD
@ -149,34 +82,19 @@ E00FLGCN.CRI
E00FLGCN.IMZ E00FLGCN.IMZ
E00FTAWW.CRI E00FTAWW.CRI
E00FTAWW.IMZ E00FTAWW.IMZ
E00G1CWW.CRI
E00G1CWW.IMZ
E00GLGCN.CRI E00GLGCN.CRI
E00GLGCN.IMZ E00GLGCN.IMZ
E00GTAWW.CRI E00GTAWW.CRI
E00GTAWW.IMZ E00GTAWW.IMZ
E00HLGCN.CRI E00HLGCN.CRI
E00HLGCN.IMZ E00HLGCN.IMZ
E00IP8WW.CRI
E00JP8WW.CRI E00JP8WW.CRI
E00KTAWW.CRI E00KTAWW.CRI
E00KTAWW.IMZ E00KTAWW.IMZ
E00MTAWW.CRI E00MTAWW.CRI
E00MTAWW.IMZ E00MTAWW.IMZ
E00PLBWW.CRI
E00PLBWW.IMZ
E00PMLWW.CRI
E00PMLWW.IMZ
E00RLBWW.CRI
E00RLBWW.IMZ
E00RTAWW.CRI E00RTAWW.CRI
E00RTAWW.IMZ E00RTAWW.IMZ
E00SL2CN.CRI
E00SL2CN.IMZ
E00UL2CN.CRI
E00UL2CN.IMZ
E00VC0WW.CRI
E00VC0WW.IMZ
E00WL2CN.CRI E00WL2CN.CRI
E00WL2CN.IMZ E00WL2CN.IMZ
E00XL2CN.CRI E00XL2CN.CRI
@ -189,28 +107,14 @@ E011L2CN.CRI
E011L2CN.IMZ E011L2CN.IMZ
E011LGCN04.CRI E011LGCN04.CRI
E011LGCN04.IMZ E011LGCN04.IMZ
E017RAWW.CRI
E017RAWW.IMZ
E01APRWW.CRI
E01APRWW.IMZ
E01HLGCN04.CRI E01HLGCN04.CRI
E01HLGCN04.IMZ E01HLGCN04.IMZ
E70ALSCN0DU4729U.CRI E70ALSCN0DU4729U.CRI
E70ALSCN0DU4729U.IMZ E70ALSCN0DU4729U.IMZ
E804DSUS.CRI
E804DSUS.IMZ
E80EP1WW.CRI
E80EP1WW.IMZ
E915MPWW.CRI
E915MPWW.IMZ
EA012RWW.CRI
EA012RWW.IMZ
EA01AAWW.CRI EA01AAWW.CRI
EA01AAWW.IMZ EA01AAWW.IMZ
EA01WCWW.CRI EA01WCWW.CRI
EA01WCWW.IMZ EA01WCWW.IMZ
EA02AFWW.CRI
EA02AFWW.IMZ
EA02W1HKB.AOD EA02W1HKB.AOD
EA02WCWW.CRI EA02WCWW.CRI
EA02WCWW.IMZ EA02WCWW.IMZ
@ -218,14 +122,10 @@ EA03AFWW.CRI
EA03AFWW.IMZ EA03AFWW.IMZ
EA042RWW.CRI EA042RWW.CRI
EA042RWW.IMZ EA042RWW.IMZ
EA04E0WW.CRI
EA04E0WW.IMZ
EA08E0WW.CRI EA08E0WW.CRI
EA08E0WW.IMZ EA08E0WW.IMZ
EA0ILBCN0BT0SU1Y.CRI EA0ILBCN0BT0SU1Y.CRI
EA0ILBCN0BT0SU1Y.IMZ EA0ILBCN0BT0SU1Y.IMZ
EA0JLWWW.CRI
EA0JLWWW.IMZ
EA0NTEWW0ANW.CRI EA0NTEWW0ANW.CRI
EA0NTEWW0ANW.IMZ EA0NTEWW0ANW.IMZ
EA0QTEWW0ANW04.CRI EA0QTEWW0ANW04.CRI
@ -382,34 +282,10 @@ FA01TPYL0B7U.CRI
FA01TPYL0B7U.IMZ FA01TPYL0B7U.IMZ
FA01TSII098G.CRI FA01TSII098G.CRI
FA01TSII098G.IMZ FA01TSII098G.IMZ
FA01U0II.CRI
FA01U0II.IMZ
FA01U0IZ.CRI FA01U0IZ.CRI
FA01U0IZ.IMZ FA01U0IZ.IMZ
FA01U1IZ0ATS.CRI FA01U1IZ0ATS.CRI
FA01U1IZ0ATS.IMZ FA01U1IZ0ATS.IMZ
FA01U2II.CRI
FA01U2II.IMZ
FA01U3II.CRI
FA01U3II.IMZ
FA01U4II.CRI
FA01U4II.IMZ
FA01U5II.CRI
FA01U5II.IMZ
FA01U7II.CRI
FA01U7II.IMZ
FA01U8II.CRI
FA01U8II.IMZ
FA01U9II.CRI
FA01U9II.IMZ
FA01UCII.CRI
FA01UCII.IMZ
FA01UDII.CRI
FA01UDII.IMZ
FA01UEII.CRI
FA01UEII.IMZ
FA01UHII.CRI
FA01UHII.IMZ
FA01ULII098H.CRI FA01ULII098H.CRI
FA01ULII098H.IMZ FA01ULII098H.IMZ
FA01UVIZ.CRI FA01UVIZ.CRI
@ -562,36 +438,10 @@ FA02TPYL0APR.CRI
FA02TPYL0APR.IMZ FA02TPYL0APR.IMZ
FA02TSII098G.CRI FA02TSII098G.CRI
FA02TSII098G.IMZ FA02TSII098G.IMZ
FA02U0II.CRI
FA02U0II.IMZ
FA02U0IZ.CRI FA02U0IZ.CRI
FA02U0IZ.IMZ FA02U0IZ.IMZ
FA02U1II.CRI
FA02U1II.IMZ
FA02U2II.CRI
FA02U2II.IMZ
FA02U3II.CRI
FA02U3II.IMZ
FA02U4II.CRI FA02U4II.CRI
FA02U4II.IMZ FA02U4II.IMZ
FA02U5II.CRI
FA02U5II.IMZ
FA02U6II.CRI
FA02U6II.IMZ
FA02U7II.CRI
FA02U7II.IMZ
FA02U8II.CRI
FA02U8II.IMZ
FA02U9II.CRI
FA02U9II.IMZ
FA02UAII.CRI
FA02UAII.IMZ
FA02UBII.CRI
FA02UBII.IMZ
FA02UFII.CRI
FA02UFII.IMZ
FA02UGII.CRI
FA02UGII.IMZ
FA02UHII.CRI FA02UHII.CRI
FA02UHII.IMZ FA02UHII.IMZ
FA02UIII.CRI FA02UIII.CRI
@ -600,8 +450,6 @@ FA02UKII.CRI
FA02UKII.IMZ FA02UKII.IMZ
FA02ULII098H.CRI FA02ULII098H.CRI
FA02ULII098H.IMZ FA02ULII098H.IMZ
FA02UVII.CRI
FA02UVII.IMZ
FA02UVIZ.CRI FA02UVIZ.CRI
FA02UVIZ.IMZ FA02UVIZ.IMZ
FA02UVL209GY.CRI FA02UVL209GY.CRI
@ -688,14 +536,10 @@ FA03U8II.CRI
FA03U8II.IMZ FA03U8II.IMZ
FA03U9II.CRI FA03U9II.CRI
FA03U9II.IMZ FA03U9II.IMZ
FA03UBII.CRI
FA03UBII.IMZ
FA03UDII.CRI FA03UDII.CRI
FA03UDII.IMZ FA03UDII.IMZ
FA03UEII.CRI FA03UEII.CRI
FA03UEII.IMZ FA03UEII.IMZ
FA03UGII.CRI
FA03UGII.IMZ
FA03UHII.CRI FA03UHII.CRI
FA03UHII.IMZ FA03UHII.IMZ
FA03UIII.CRI FA03UIII.CRI
@ -1406,56 +1250,26 @@ L5AE7N1210.AOD
L5AE7O1210.AOD L5AE7O1210.AOD
L62DSGA1.CRI L62DSGA1.CRI
L62DSGA1.IMZ L62DSGA1.IMZ
L63DAJA1.CRI
L63DAJA1.IMZ
L63DALA1.CRI L63DALA1.CRI
L63DALA1.IMZ L63DALA1.IMZ
L64KEFA1.CRI
L64KEFA1.IMZ
L64KESA1.CRI L64KESA1.CRI
L64KESA1.IMZ L64KESA1.IMZ
L64SSJA1.CRI
L64SSJA1.IMZ
L64YVYA1.CRI
L64YVYA1.IMZ
L652OAA1.CRI
L652OAA1.IMZ
L65ZLWA1.CRI
L65ZLWA1.IMZ
L65ZLZA1.CRI L65ZLZA1.CRI
L65ZLZA1.IMZ L65ZLZA1.IMZ
L67SE1A1.CRI
L67SE1A1.IMZ
L67Y54A4.CRI L67Y54A4.CRI
L67Y54A4.IMZ L67Y54A4.IMZ
L67YTPA0.CRI L67YTPA0.CRI
L67YTPA0.IMZ L67YTPA0.IMZ
L68MYLA1.CRI
L68MYLA1.IMZ
L68NAGA1.CRI
L68NAGA1.IMZ
L6AA3D16A1.CRI
L6AA3D16A1.IMZ
L6AA6G15A1.CRI
L6AA6G15A1.IMZ
L6AA8811A1.CRI
L6AA8811A1.IMZ
L6AA8818A1.CRI L6AA8818A1.CRI
L6AA8818A1.IMZ L6AA8818A1.IMZ
L6AA881EA1.CRI L6AA881EA1.CRI
L6AA881EA1.IMZ L6AA881EA1.IMZ
L6AA881FA2.CRI L6AA881FA2.CRI
L6AA881FA2.IMZ L6AA881FA2.IMZ
L6AA9B11A1.CRI
L6AA9B11A1.IMZ
L6AA9B1DA1.CRI L6AA9B1DA1.CRI
L6AA9B1DA1.IMZ L6AA9B1DA1.IMZ
L6AAA41GA0.CRI
L6AAA41GA0.IMZ
L6AAA41LA0.CRI L6AAA41LA0.CRI
L6AAA41LA0.IMZ L6AAA41LA0.IMZ
L6AADB19A1.CRI
L6AADB19A1.IMZ
L6AADB1BA1.CRI L6AADB1BA1.CRI
L6AADB1BA1.IMZ L6AADB1BA1.IMZ
L6AADB28A1.CRI L6AADB28A1.CRI
@ -1474,8 +1288,6 @@ L6AADB32A1.CRI
L6AADB32A1.IMZ L6AADB32A1.IMZ
L6AADB3EA1.CRI L6AADB3EA1.CRI
L6AADB3EA1.IMZ L6AADB3EA1.IMZ
L6AAFM12A1.CRI
L6AAFM12A1.IMZ
L6AAFM17A1.CRI L6AAFM17A1.CRI
L6AAFM17A1.IMZ L6AAFM17A1.IMZ
L6AAJL31A1.CRI L6AAJL31A1.CRI
@ -1510,8 +1322,6 @@ L6AAJL4HA0.CRI
L6AAJL4HA0.IMZ L6AAJL4HA0.IMZ
L6AAJL4IA0.CRI L6AAJL4IA0.CRI
L6AAJL4IA0.IMZ L6AAJL4IA0.IMZ
L6AAMC14A1.CRI
L6AAMC14A1.IMZ
L6AANZ26A1.CRI L6AANZ26A1.CRI
L6AANZ26A1.IMZ L6AANZ26A1.IMZ
L6AANZ2GA2.CRI L6AANZ2GA2.CRI
@ -1520,8 +1330,6 @@ L6AANZ2IA1.CRI
L6AANZ2IA1.IMZ L6AANZ2IA1.IMZ
L6AAQ72NA1.CRI L6AAQ72NA1.CRI
L6AAQ72NA1.IMZ L6AAQ72NA1.IMZ
L6AATP1RA1.CRI
L6AATP1RA1.IMZ
L6AATP1YA1.CRI L6AATP1YA1.CRI
L6AATP1YA1.IMZ L6AATP1YA1.IMZ
L6AATP45A1.CRI L6AATP45A1.CRI
@ -2115,20 +1923,12 @@ L6AFQ512A0.IMZ
L6AFQ52DA0.XMB L6AFQ52DA0.XMB
L6AFQ611A0.CRI L6AFQ611A0.CRI
L6AFQ611A0.IMZ L6AFQ611A0.IMZ
L6BEPIA1.CRI
L6BEPIA1.IMZ
L6BEPKA1.CRI L6BEPKA1.CRI
L6BEPKA1.IMZ L6BEPKA1.IMZ
L6BTW5A1.CRI
L6BTW5A1.IMZ
L6BTW8A1.CRI L6BTW8A1.CRI
L6BTW8A1.IMZ L6BTW8A1.IMZ
L6BTWRA1.CRI L6BTWRA1.CRI
L6BTWRA1.IMZ L6BTWRA1.IMZ
L6BW4AA1.CRI
L6BW4AA1.IMZ
L6BY2IA1.CRI
L6BY2IA1.IMZ
L6BY2LA1.CRI L6BY2LA1.CRI
L6BY2LA1.IMZ L6BY2LA1.IMZ
L6BY2TA1.CRI L6BY2TA1.CRI
@ -2141,7 +1941,6 @@ L6VYDCA1.CRI
L6VYDCA1.IMZ L6VYDCA1.IMZ
L6VYDKA1.CRI L6VYDKA1.CRI
L6VYDKA1.IMZ L6VYDKA1.IMZ
LG49E1A2
LG82URA0.CRI LG82URA0.CRI
LG82URA0.IMZ LG82URA0.IMZ
LG82UXA0.CRI LG82UXA0.CRI
@ -2154,8 +1953,6 @@ LGAA1E12A0.AOD
LGAA1F12A0.AOD LGAA1F12A0.AOD
LGAA1V12A0.AOD LGAA1V12A0.AOD
LGAA1W12A0.AOD LGAA1W12A0.AOD
LGAA4H12A2.CRI
LGAA4H12A2.IMZ
LGAA6E1KA4.CRI LGAA6E1KA4.CRI
LGAA6E1KA4.IMZ LGAA6E1KA4.IMZ
LGAA8211A4.CRI LGAA8211A4.CRI
@ -2170,14 +1967,8 @@ LGAAJL1CA0.CRI
LGAAJL1CA0.IMZ LGAAJL1CA0.IMZ
LGAAJL1LA0.CRI LGAAJL1LA0.CRI
LGAAJL1LA0.IMZ LGAAJL1LA0.IMZ
LGAAKY1BA0.CRI
LGAAKY1BA0.IMZ
LGAAKY1DA0.CRI LGAAKY1DA0.CRI
LGAAKY1DA0.IMZ LGAAKY1DA0.IMZ
LGAALV1SA0.CRI
LGAALV1SA0.IMZ
LGAAMS35A0.CRI
LGAAMS35A0.IMZ
LGAAMS3JA0.CRI LGAAMS3JA0.CRI
LGAAMS3JA0.IMZ LGAAMS3JA0.IMZ
LGAAMS5EA0.CRI LGAAMS5EA0.CRI
@ -2194,18 +1985,8 @@ LGAATP12A1.CRI
LGAATP12A1.IMZ LGAATP12A1.IMZ
LGAAVL19A0.CRI LGAAVL19A0.CRI
LGAAVL19A0.IMZ LGAAVL19A0.IMZ
LGAAX914A0.CRI
LGAAX914A0.IMZ
LGAAXO11A0.CRI
LGAAXO11A0.IMZ
LGAAXO14A0.CRI LGAAXO14A0.CRI
LGAAXO14A0.IMZ LGAAXO14A0.IMZ
LGAAXS13A0.CRI
LGAAXS13A0.IMZ
LGAAYA17A0.CRI
LGAAYA17A0.IMZ
LGAAYB12A0.CRI
LGAAYB12A0.IMZ
LGAB2U14A0.CRI LGAB2U14A0.CRI
LGAB2U14A0.IMZ LGAB2U14A0.IMZ
LGAB2U18A0.CRI LGAB2U18A0.CRI
@ -2551,24 +2332,10 @@ LGAG8K11A0.IMZ
LGAGBS1320.AOD LGAGBS1320.AOD
LGAGSM11A0.CRI LGAGSM11A0.CRI
LGAGSM11A0.IMZ LGAGSM11A0.IMZ
LGAV65A0.CRI
LGAV65A0.IMZ
LGB44XA1.CRI
LGB44XA1.IMZ
LGBDOWA0.CRI
LGBDOWA0.IMZ
LGBDOYA0.CRI LGBDOYA0.CRI
LGBDOYA0.IMZ LGBDOYA0.IMZ
LGBJZ1A2.CRI
LGBJZ1A2.IMZ
LGBJZ3A0.CRI LGBJZ3A0.CRI
LGBJZ3A0.IMZ LGBJZ3A0.IMZ
LGBKC1A0.CRI
LGBKC1A0.IMZ
LGBSIBA0.CRI
LGBSIBA0.IMZ
LGBWD4A0.CRI
LGBWD4A0.IMZ
LXAAJL18A0.CRI LXAAJL18A0.CRI
LXAAJL18A0.IMZ LXAAJL18A0.IMZ
LXAAJL1WA1.CRI LXAAJL1WA1.CRI
@ -2637,8 +2404,6 @@ M10AEDPRO.CRI
M10CF225BA.AOD M10CF225BA.AOD
M10CF226HA.AOD M10CF226HA.AOD
M10CF226J.AOD M10CF226J.AOD
M10MFMT1K.7Z
M10MFMT1K.CRI
M10R3S00AR.CRI M10R3S00AR.CRI
M10R3S00AR.IMZ M10R3S00AR.IMZ
M10R3S00CR.CRI M10R3S00CR.CRI
@ -2683,18 +2448,8 @@ M10R7S00CS.AOD
M10R7S00JP.AOD M10R7S00JP.AOD
M10R7S00UK.AOD M10R7S00UK.AOD
M10R7SR00EN.AOD M10R7SR00EN.AOD
M10S04ACS.CRI
M10S04ACS.WIM
M10S13ACS.AOD M10S13ACS.AOD
M10SRE130AMD.JPG M10SRE130AMD.JPG
M10SRE40AMA.7z
M10SRE40AMA.CRI
M10SRE40AMB.7Z
M10SRE40AMB.CRI
M10SRE40AMD.7z
M10SRE40AMD.CRI
M10SRE40AME.7z
M10SRE40AME.CRI
M10SRE50AMB.7Z M10SRE50AMB.7Z
M10SRE50AMB.CRI M10SRE50AMB.CRI
M10SRE50AMD.7Z M10SRE50AMD.7Z
@ -2703,12 +2458,6 @@ M10SRE50AME.7Z
M10SRE50AME.CRI M10SRE50AME.CRI
M11ACB02B.CRI M11ACB02B.CRI
M11ACB02B.IMZ M11ACB02B.IMZ
M9CB123A.7z
M9CB123A.CRI
M9CB124D.7Z
M9CB124D.CRI
M9CB124D0.7Z
M9CB124D0.CRI
M9CB124E0.7Z M9CB124E0.7Z
M9CB124E0.CRI M9CB124E0.CRI
M9CB129B.7Z M9CB129B.7Z
@ -2742,42 +2491,6 @@ M9CR00R1B.AOD
M9CR0XR1A.AOD M9CR0XR1A.AOD
M9CR0XR1B.AOD M9CR0XR1B.AOD
M9DENT07A.AOD M9DENT07A.AOD
M9SR0020.CRI
M9SR0020.IMZ
M9SR0025.CRI
M9SR0025.IMZ
M9SR0028.CRI
M9SR0028.IMZ
M9SR002C.CRI
M9SR002C.IMZ
M9SR002H.CRI
M9SR002H.IMZ
M9SR002I.CRI
M9SR002I.IMZ
M9SR002J.CRI
M9SR002J.IMZ
M9SR002K.CRI
M9SR002K.IMZ
M9SR002L.CRI
M9SR002L.IMZ
M9SR002M.CRI
M9SR002M.IMZ
M9SR002N.CRI
M9SR002N.IMZ
M9SR002O.CRI
M9SR002O.IMZ
M9SR002P.CRI
M9SR002P.IMZ
M9SR002S.CRI
M9SR002S.IMZ
M9SR002T.CRI
M9SR002T.IMZ
M9SR002V.CRI
M9SR002V.IMZ
M9SR002W.CRI
M9SR002W.IMZ
M9SR002Y.CRI
M9SR002Y.IMZ
MEA01AAWW.CRI MEA01AAWW.CRI
MEA01AAWW.IMZ MEA01AAWW.IMZ
MZ10DDT01.CRI MZ10DDT01.CRI
@ -2878,24 +2591,14 @@ SSW1A06235.SSW1A01909
SSW1A06236.SSW1A01909 SSW1A06236.SSW1A01909
SSW1A06237.SSW1A01909 SSW1A06237.SSW1A01909
SSW1A06238.SSW1A01909 SSW1A06238.SSW1A01909
W10R3S01UK.CRI
W10R3S01UK.IMZ
W10R3S09UK.CRI W10R3S09UK.CRI
W10R3S09UK.IMZ W10R3S09UK.IMZ
W10R3SC3EN.CRI
W10R3SC3EN.IMZ
W10R3SC9EN.CRI W10R3SC9EN.CRI
W10R3SC9EN.IMZ W10R3SC9EN.IMZ
W10R3SR3EN.CRI
W10R3SR3EN.IMZ
W10R3SR9EN.CRI W10R3SR9EN.CRI
W10R3SR9EN.IMZ W10R3SR9EN.IMZ
W10R8SC02EN.CRI W10R8SC02EN.CRI
W10R8SC02EN.IMZ W10R8SC02EN.IMZ
W10S16237REMC.7Z
W10S16237REMC.CRI
W10S16237US.CRI
W10S16237US.WIM
W10S16257REMC.7Z W10S16257REMC.7Z
W10S16257REMC.CRI W10S16257REMC.CRI
W10S16257US.CRI W10S16257US.CRI
@ -2906,8 +2609,6 @@ W10S16278US.CRI
W10S16278US.WIM W10S16278US.WIM
W10S19044AUS.CRI W10S19044AUS.CRI
W10S19044AUS.WIM W10S19044AUS.WIM
W10SPE16237.7Z
W10SPE16237.CRI
W10SPE16257.7Z W10SPE16257.7Z
W10SPE16257.CRI W10SPE16257.CRI
W10SPE16278.7Z W10SPE16278.7Z
@ -2918,8 +2619,6 @@ W10SRE130BMA.7Z
W10SRE130BMA.CRI W10SRE130BMA.CRI
W10SRE130BMC.7Z W10SRE130BMC.7Z
W10SRE130BMC.CRI W10SRE130BMC.CRI
W12SUSMT16237.CRI
W12SUSMT16237.IMZ
W12SUSMT16257.CRI W12SUSMT16257.CRI
W12SUSMT16257.IMZ W12SUSMT16257.IMZ
W12SUSMT16278.CRI W12SUSMT16278.CRI
@ -2930,22 +2629,14 @@ WM9CB176A5.7Z
WM9CB176A5.CRI WM9CB176A5.CRI
WM9CB176AA.7Z WM9CB176AA.7Z
WM9CB176AA.CRI WM9CB176AA.CRI
WM9CBE00C.7Z
WM9CBE00C.CRI
WM9CBE00F.7Z WM9CBE00F.7Z
WM9CBE00F.CRI WM9CBE00F.CRI
WM9CBE00H.7Z WM9CBE00H.7Z
WM9CBE00H.CRI WM9CBE00H.CRI
WordPad Document Scrap 'LR3ENCA3...'.shs
WordPad Document Scrap 'LZ3POJA3...'.shs
ZRECAC1X.CRI
ZRECAC1X.IMZ
ZRECAG21ARM.CRI ZRECAG21ARM.CRI
ZRECAG21ARM.IMZ ZRECAG21ARM.IMZ
ZRECAG25ARMEAGLE.CRI ZRECAG25ARMEAGLE.CRI
ZRECAG25ARMEAGLE.IMZ ZRECAG25ARMEAGLE.IMZ
ZRECAG28.CRI
ZRECAG28.IMZ
ZW00CLD003B.CRI ZW00CLD003B.CRI
ZW00CLD004.CRI ZW00CLD004.CRI
ZW00CLD004.IMZ ZW00CLD004.IMZ

Binary file not shown.

View File

@ -8,16 +8,20 @@ import (
"path/filepath" "path/filepath"
"regexp" "regexp"
"strings" "strings"
"time"
) )
type FileInfo struct { type FileInfo struct {
FileName string
FilePath string FilePath string
FileName string
FileSize int64 FileSize int64
//ModTime string FileTime time.Time
} }
var ( var (
diffYear int = 0
bkupPath string = ""
autoBkup bool = false
exclude bool = false exclude bool = false
aodType string = "" aodType string = ""
aodPath string = "" aodPath string = ""
@ -27,8 +31,8 @@ var (
aodList = make([]string, 0) aodList = make([]string, 0)
criList = make([]string, 0) criList = make([]string, 0)
moduleList = make([]string, 0) moduleList = make([]string, 0)
distinctCriList = make([]string, 0) uniqueCriList = make([]string, 0)
distinctModuleList = make([]string, 0) uniqueModuleList = make([]string, 0)
needlessModuleList = make([]string, 0) needlessModuleList = make([]string, 0)
missingModuleList = make([]string, 0) missingModuleList = make([]string, 0)
errAOD = make([]string, 0) errAOD = make([]string, 0)
@ -42,8 +46,11 @@ var regSBID = `(?i)\S{8,}\.DAT`
func init() { func init() {
flag.BoolVar(&exclude, "x", false, "Exclude Mode") flag.BoolVar(&exclude, "x", false, "Exclude Mode")
flag.BoolVar(&autoBkup, "y", false, "Auto Backup")
flag.IntVar(&diffYear, "d", 6, "Differ Year Of File Time to Backup")
flag.StringVar(&bkupPath, "b", `D:\COMMON_BKUP`, "Path Of Backup")
flag.StringVar(&aodPath, "a", `D:\Vol1\PDLINE\PLANT1\PRELOAD\AOD`, "Path Of AODs") flag.StringVar(&aodPath, "a", `D:\Vol1\PDLINE\PLANT1\PRELOAD\AOD`, "Path Of AODs")
flag.StringVar(&modPath, "m", `D:\Common`, "Path Of Modules") flag.StringVar(&modPath, "m", `D:\COMMON`, "Path Of Modules")
flag.StringVar(&aodType, "t", "*", "Type Of AODs, LNB/TNB/SBID/*") flag.StringVar(&aodType, "t", "*", "Type Of AODs, LNB/TNB/SBID/*")
flag.Parse() flag.Parse()
} }
@ -61,15 +68,16 @@ func main() {
} }
log.Printf("[MSG] Summary Loacal AODs ...\r\n") log.Printf("[MSG] Summary Loacal AODs ...\r\n")
aodInfoList, err = _SummaryAOD(aodPath, aodType) aodInfoList, err = _SummaryAODs(aodPath, aodType)
if err != nil { if err != nil {
log.Printf("[ERR] Get AOD List Failed: %s\r\n", err.Error()) log.Printf("[ERR] Get AOD List Failed: %s\r\n", err.Error())
os.Exit(1) os.Exit(1)
} }
log.Printf("[MSG] Total Local AODs: %d\r\n", len(aodInfoList)) log.Printf("[MSG] Total Local AODs: %d\r\n", len(aodInfoList))
_WriteFileFromStringSlice(".\\AOD.txt", aodList)
log.Printf("[MSG] Summary Local Modules ...\r\n") log.Printf("[MSG] Summary Local Modules ...\r\n")
moduleInfoList, err = _SummaryFiles(modPath) moduleInfoList, err = _SummaryModules(modPath)
if err != nil { if err != nil {
log.Printf("[ERR] Get Module List Failed: %s\r\n", err.Error()) log.Printf("[ERR] Get Module List Failed: %s\r\n", err.Error())
os.Exit(1) os.Exit(1)
@ -81,12 +89,12 @@ func main() {
log.Printf("[ERR] RegExp - CRI Compile Error: %s\r\n", err.Error()) log.Printf("[ERR] RegExp - CRI Compile Error: %s\r\n", err.Error())
os.Exit(1) os.Exit(1)
} }
log.Printf("[MSG] Summary CRIs From AODs ...\r\n") log.Printf("[MSG] Summary CRIs From AODs ...\r\n")
for _, aod := range aodInfoList { for _, aod := range aodList {
aodList = append(aodList, aod.FilePath) rdr, err := os.Open(aod)
rdr, err := os.Open(aod.FilePath)
if err != nil { if err != nil {
errAOD = append(errAOD, aod.FilePath) errAOD = append(errAOD, aod)
} }
buf := bufio.NewScanner(rdr) buf := bufio.NewScanner(rdr)
for buf.Scan() { for buf.Scan() {
@ -101,16 +109,17 @@ func main() {
} }
} }
log.Printf("[MSG] Total CRIs From AODs: %d\r\n", len(criList)) log.Printf("[MSG] Total CRIs From AODs: %d\r\n", len(criList))
distinctCriList = _RemoveDuplicateElementOfSlice(criList) uniqueCriList = _RemoveDuplicateElementOfSlice(criList)
log.Printf("[MSG] Distinct CRIs From AODs: %d\r\n", len(distinctCriList)) log.Printf("[MSG] Unique CRIs From AODs: %d\r\n", len(uniqueCriList))
regModuleName, err := regexp.Compile(`(?i)(ModuleName[0-9]{0,}|ModuleThis[0-9]{0,})=(.{1,})`) regModuleName, err := regexp.Compile(`(?i)(ModuleName[0-9]{0,}|ModuleThis[0-9]{0,})=(.{1,})`)
if err != nil { if err != nil {
log.Printf("[ERR] RegExp - ModuleName Compile Error: %s\r\n", err.Error()) log.Printf("[ERR] RegExp - ModuleName Compile Error: %s\r\n", err.Error())
os.Exit(1) os.Exit(1)
} }
log.Printf("[MSG] Summary Modules From CRIs ...\r\n") log.Printf("[MSG] Summary Modules From CRIs ...\r\n")
for _, cri := range distinctCriList { for _, cri := range uniqueCriList {
rdr, err := os.Open(modPath + "\\" + cri) rdr, err := os.Open(modPath + "\\" + cri)
if err != nil { if err != nil {
errCRI = append(errCRI, modPath+"\\"+cri) errCRI = append(errCRI, modPath+"\\"+cri)
@ -128,11 +137,11 @@ func main() {
} }
} }
log.Printf("[MSG] Total Modules From CRIs: %d\r\n", len(moduleList)) log.Printf("[MSG] Total Modules From CRIs: %d\r\n", len(moduleList))
distinctModuleList = _RemoveDuplicateElementOfSlice(moduleList) uniqueModuleList = _RemoveDuplicateElementOfSlice(moduleList)
log.Printf("[MSG] Distinct Modules From CRIs: %d\r\n", len(distinctModuleList)) log.Printf("[MSG] Unique Modules From CRIs: %d\r\n", len(uniqueModuleList))
log.Printf("[MSG] Checking Missing Modules ...\r\n") log.Printf("[MSG] Checking Missing Modules ...\r\n")
for _, m := range distinctModuleList { for _, m := range uniqueModuleList {
exist := false exist := false
for _, l := range moduleInfoList { for _, l := range moduleInfoList {
if strings.EqualFold(m, l.FileName) { if strings.EqualFold(m, l.FileName) {
@ -148,7 +157,7 @@ func main() {
log.Printf("[MSG] Checking Needless Modules ...\r\n") log.Printf("[MSG] Checking Needless Modules ...\r\n")
for _, l := range moduleInfoList { for _, l := range moduleInfoList {
needless := true needless := true
for _, m := range distinctModuleList { for _, m := range uniqueModuleList {
if strings.EqualFold(l.FileName, m) { if strings.EqualFold(l.FileName, m) {
needless = false needless = false
break break
@ -159,8 +168,6 @@ func main() {
} }
} }
_WriteFileFromStringSlice(".\\AOD.txt", aodList)
log.Printf("***** Error AODs: %d\r\n", len(errAOD)) log.Printf("***** Error AODs: %d\r\n", len(errAOD))
_WriteFileFromStringSlice(".\\errAOD.txt", errAOD) _WriteFileFromStringSlice(".\\errAOD.txt", errAOD)
@ -172,24 +179,49 @@ func main() {
log.Printf("##### Needless Modules: %d\r\n", len(needlessModuleList)) log.Printf("##### Needless Modules: %d\r\n", len(needlessModuleList))
_WriteFileFromStringSlice(".\\NeedlessModules.txt", needlessModuleList) _WriteFileFromStringSlice(".\\NeedlessModules.txt", needlessModuleList)
if autoBkup {
log.Printf("[MSG] Starting Backup Modules Older Than %d Years ...\r\n", diffYear)
_, err := os.Stat(bkupPath)
if err != nil {
err = os.MkdirAll(bkupPath, os.ModePerm)
if err != nil {
log.Printf("[ERR] Create Backup Directory Failed.\\r\n")
os.Exit(1)
}
}
for _, n := range needlessModuleList {
for _, m := range moduleInfoList {
if m.FileName == n {
if m.FileTime.AddDate(diffYear, 0, 0).Before(time.Now()) {
err := os.Rename(m.FilePath, bkupPath+"\\"+m.FileName)
if err != nil {
log.Printf("[ERR] FileName: %s; ErrMsg: %s\r\n", m.FileName, err.Error())
break
}
log.Printf("[MSG] FileName: %s; FileTime: %s\r\n", m.FileName, m.FileTime)
break
}
}
}
}
}
} }
func _SummaryAOD(basePath, filter string) ([]FileInfo, error) { func _SummaryAODs(basePath, filter string) ([]FileInfo, error) {
var err error var err error
sortInfoList := make([]FileInfo, 0) sortInfoList := make([]FileInfo, 0)
fileInfoList := make([]FileInfo, 0) fileInfoList := make([]FileInfo, 0)
err = filepath.Walk(basePath, func(path string, info os.FileInfo, err error) error { err = filepath.Walk(basePath, func(path string, info os.FileInfo, err error) error {
if !info.IsDir() { if !info.IsDir() {
var fileInfo FileInfo fi := new(FileInfo)
fileInfo.FileName = info.Name() fi.FilePath = path
fileInfo.FilePath = path fi.FileName = info.Name()
fileInfo.FileSize = info.Size() fi.FileSize = info.Size()
//fileInfo.ModTime = info.ModTime().Format("2006-01-02 15:04:05") fi.FileTime = info.ModTime() //.Format("2006-01-02 15:04:05")
// if !strings.Contains(fileInfo.FilePath, ".svn") { fileInfoList = append(fileInfoList, *fi)
// fileInfoList = append(fileInfoList, fileInfo) aodList = append(aodList, fi.FilePath)
// }
fileInfoList = append(fileInfoList, fileInfo)
} }
return nil return nil
}) })
@ -212,12 +244,15 @@ func _SummaryAOD(basePath, filter string) ([]FileInfo, error) {
for _, i := range fileInfoList { for _, i := range fileInfoList {
reg := regexp.MustCompile(regFilter) reg := regexp.MustCompile(regFilter)
rst := reg.FindStringSubmatch(i.FileName) rst := reg.FindStringSubmatch(i.FileName)
if exclude { if exclude {
if len(rst) == 1 { if len(rst) == 1 {
continue continue
} }
sortInfoList = append(sortInfoList, i) sortInfoList = append(sortInfoList, i)
} else { }
if !exclude {
if len(rst) != 1 { if len(rst) != 1 {
continue continue
} }
@ -227,19 +262,19 @@ func _SummaryAOD(basePath, filter string) ([]FileInfo, error) {
return sortInfoList, nil return sortInfoList, nil
} }
func _SummaryFiles(basePath string) ([]FileInfo, error) { func _SummaryModules(basePath string) ([]FileInfo, error) {
var err error var err error
fileInfoList := make([]FileInfo, 0) fileInfoList := make([]FileInfo, 0)
err = filepath.Walk(basePath, func(path string, info os.FileInfo, err error) error { err = filepath.Walk(basePath, func(path string, info os.FileInfo, err error) error {
if !info.IsDir() { if !info.IsDir() {
var fileInfo FileInfo fi := new(FileInfo)
fileInfo.FileName = info.Name() fi.FilePath = path
fileInfo.FilePath = path fi.FileName = info.Name()
fileInfo.FileSize = info.Size() fi.FileSize = info.Size()
//fileInfo.ModTime = info.ModTime().Format("2006-01-02 15:04:05") fi.FileTime = info.ModTime() //.Format("2006-01-02 15:04:05")
if path == basePath+"\\"+info.Name() { if path == basePath+"\\"+info.Name() {
fileInfoList = append(fileInfoList, fileInfo) fileInfoList = append(fileInfoList, *fi)
} }
} }
return nil return nil

8180
errCRI.txt

File diff suppressed because it is too large Load Diff