Войти

Показать полную графическую версию : Глюк FC в цикле


kvant-07
07-01-2017, 15:42
Проблема: есть папка, в ней несколько тысяч файлов
необходимо при резервном копировании папки обеспечить версионность - при изменении файла в папке источнике, в папке назначения сохранять и старый файл и новый

написал сценарий, запускаю его каждый час в рабочее время:
set SrcDir=W:\4pu\программы обработки деталей
set DstDir=X:
if "%TIME:~0,1%" == " " (set hh=0%TIME:~1,1%) else (set hh=%TIME:~0,2%)
set DateTime=%DATE:~8,2%%DATE:~3,2%%DATE:~0,2%-%hh%.%TIME:~3,2%

for /f "delims=" %%a in ('dir/a-d/b/s "%SrcDir%"') do call :# "%%a" "%%~pnxa" "%%~pa" "%%~na" "%%~xa"
goto :EOF

:#
if exist "%DstDir%%~2" (
fc %1 "%DstDir%%~2"
if not "%errorlevel%" == "0" (
ren "%DstDir%%~2" %~4_%DateTime%%~5
) else (
goto next
)
)
echo F | xcopy /s /c /i /h /r /y %1 "%DstDir%%~2"
echo %date%-%hh%.%TIME:~3,2% - "%DstDir%%~2" >> X:\4pu\update.log

:next
exit /b


=>if exist "X:\8.034.198 KORPUS RP-301\O10301.nc" (
fc "W:\8.034.198 KORPUS RP-301\O10301.nc" "X:\8.034.198 KORPUS RP-301\O10301.nc"
if not "0" == "0" (ren "X:\8.034.198 KORPUS RP-301\O10301.nc" O10301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\O10301.nc и X:\8.034.198 KORPUS RP-301\O10301.NC
***** W:\8.034.198 KORPUS RP-301\O10301.nc
O10301
(RP-301 KORPUS VERHNII 8.034.198 VID1)

***** X:\8.034.198 KORPUS RP-301\O10301.NC
O10301
(8.034.198 KORPUS RP-301 VERHNII VID1)

(T1 SHUP)
(T4 SVERLO D4.2)
(T2 SVERLO D2)
(T5 METCHIK M5)
(T6 CENTROVKA D6/45*)
(T14 SVERLO D4.2)
(T12 FREZA D6)

*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc


(CENTROVKA)
T2 M06
G00 G90 G54 X0. Y-5.
***** X:\8.034.198 KORPUS RP-301\O10301.NC

(CENTROVKA)
T6 M06
M08
G00 G90 G54 X0. Y-5.
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
S4000 M03
G43 H02 Z3. M08
G83 G98 Z-4.8 F150. Q0.5 L1
G00 G80 Z3. M09
***** X:\8.034.198 KORPUS RP-301\O10301.NC
S4000 M03
G43 H06 Z3.
G83 G98 Z-8.6 F150. Q1. L1
G00 G80 Z3. M09
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O10301.NC
G28 G91 Z0
G00 G90 G54 X0 Y-5.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
(SVERLO D2.)
T20 M06
G00 G90 G54 X0. Y-5.
***** X:\8.034.198 KORPUS RP-301\O10301.NC
(SVERLO D2.)
T2 M06
M08
G00 G90 G54 X0. Y-5.
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
S1800 M03
G43 H20 Z3. M08
G83 G98 Z-31.6 F100. Q0.5 L1
G00 G80 Z3. M09
***** X:\8.034.198 KORPUS RP-301\O10301.NC
S1800 M03
G43 H02 Z3.
G83 G98 Z-30.6 F100. Q0.5 L1
G00 G80 Z3. M09
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O10301.NC
G28 G91 Z0
G00 G90 G54 X0 Y-5.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
T4 M06
G00 G90 G54 X0. Y-5.
***** X:\8.034.198 KORPUS RP-301\O10301.NC
T4 M06
M08
G00 G90 G54 X0. Y-5.
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
S4000 M03
G43 H04 Z3. M08
G83 G98 Z-14.5 F400. Q3. L1
G00 G80 Z3. M09
***** X:\8.034.198 KORPUS RP-301\O10301.NC
S4000 M03
G43 H04 Z3.
G83 G98 Z-13.8 F400. Q3. L1
G00 G80 Z3. M09
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O10301.NC
G28 G91 Z0
G00 G90 G54 X0 Y-5.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc


(FREZEROVKA D7/6)

***** X:\8.034.198 KORPUS RP-301\O10301.NC

(SVERLO D4.2)
T14 M06
M08
G00 G90 G54 X0. Y-5.
S2000 M03
G43 H14 Z3.
G83 G98 Z-14.4 F200. Q17.4 L1
G00 G80 Z3. M09
M05
G28 G91 Z0
G00 G90 G54 X0 Y-5.
M01

*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc


T6 M06
G00 G90 G54 X0. Y-5.
S3000 M03
G43 H06 Z2. M08
G01 Z0. F150.
N100 G13 G91 G01 Z-6.1 I2.99 K3.55 Q2.392 F150. L1 D06
G00 G90 Z2.

***** X:\8.034.198 KORPUS RP-301\O10301.NC

(METCHIK M5)
T5 M06
M08
G00 G90 G54 X0. Y-5.
S200
G43 H05 Z3.
G84 G98 Z-14. R3. F160. L1
G00 G80 Z3. M09
M05
G28 G91 Z0
G00 G90 G54 X0 Y-5.
M01

*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc

(FREZEROVKA D8.5/5)
T6 M06
G00 G90 G54 X0. Y-5.
***** X:\8.034.198 KORPUS RP-301\O10301.NC

(FREZEROVKA D7/6)
T12 M06 (FREZA D6)
M08
G00 G90 G54 X0. Y-5.
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc
S3000 M03
G43 H06 Z2.
G01 Z0. F200.
N101 G13 G91 G01 Z-5.1 I4.185 K4.275 Q2.392 F150. L1 D06
G00 G90 Z2. M09
G28 G91 Z0 M05
G00 G90 G54 X0 Y0
M01

***** X:\8.034.198 KORPUS RP-301\O10301.NC
S3000 M03
G43 H12 Z2.
G01 Z0. F150.
N100 G13 G91 G01 Z-6.3 I2.99 K3.57 Q2.392 F150. L1 D12
G00 G90 Z2.

*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc


(SVERLO D7/45*)
T7 M06
G00 G90 G54 X0. Y-5.
S500 M03
G43 H07 Z2. M08
G83 G98 Z-8.3 F100. Q12. L1
G00 G80 Z2. M09
M05
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O10301.NC

(FREZEROVKA D8.5/5)
T12 M06 (FREZA D6)
M08
G00 G90 G54 X0. Y-5.
S3000 M03
G43 H12 Z2.
G01 Z0. F200.
N101 G13 G91 G01 Z-5.3 I4.185 K4.295 Q2.392 F150. L1 D12
G00 G90 Z2. M09
G28 G91 Z0 M05
G00 G90 G54 X-150. Y150.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O10301.nc


(METCHIK M5)
T5 M06
G00 G90 G54 X0. Y-5.
S200
G43 H05 Z3. M08
G84 G98 Z-13.5 R3. F160. L1
G00 G80 Z3. M09
M05
G28 G91 Z0
G00 G90 G54 X0 Y0
M01

M30
***** X:\8.034.198 KORPUS RP-301\O10301.NC

M30
*****


=>exit /b

=>call :# "W:\8.034.198 KORPUS RP-301\O11301.nc" "\8.034.198 KORPUS RP-301\O11301.nc" "\8.034.198 KORPUS RP-301\" "O11301" ".nc"

=>if exist "X:\8.034.198 KORPUS RP-301\O11301.nc" (
fc "W:\8.034.198 KORPUS RP-301\O11301.nc" "X:\8.034.198 KORPUS RP-301\O11301.nc"
if not "1" == "0" (ren "X:\8.034.198 KORPUS RP-301\O11301.nc" O11301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\O11301.nc и X:\8.034.198 KORPUS RP-301\O11301.NC
***** W:\8.034.198 KORPUS RP-301\O11301.nc
O11301
(KORPUS RP-301 8.034.198 VID A-A)

***** X:\8.034.198 KORPUS RP-301\O11301.NC
O11301
(8.034.198 KORPUS RP-301 VID A-A)

*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc
(T1 SHUP)
(T11 GENTROVKA D1.0 )
(T20 SVERLO D2.)
(T5 SVERLO D5)
***** X:\8.034.198 KORPUS RP-301\O11301.NC
(T1 SHUP)
(T14 GENTROVKA D1.45 )
(T2 SVERLO D2.)
(T5 SVERLO D5)
*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc

T1 M06
G00 G90 G54 X-10.5 Y-17.
G43 H01 Z10.

***** X:\8.034.198 KORPUS RP-301\O11301.NC

(VREMYA CIKLA 1.21MIN NA 25%)
(VREMYA CIKLA 1.MIN NA 50%)

T1 M06
G00 G90 G54 X-17. Y-10.
G43 H01 Z10.
M01

*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc


***** X:\8.034.198 KORPUS RP-301\O11301.NC

G90 G54 X0 Y0 Z10.

M01 (AVARIINII PUSK PROGRAMI ZDES)

*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc
G00 G90 G54 X0 Y0
G43 H01 Z-9.5


***** X:\8.034.198 KORPUS RP-301\O11301.NC
G00 G90 G54 X0 Y0
G43 H01 Z10.
M01
G90 G54 Z-8.5
M01

*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc


G28 G91 Z0

***** X:\8.034.198 KORPUS RP-301\O11301.NC

M01
G28 G91 Z0
G00 G90 G54 X-15. Y15.
M01

*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc

(MULTIPLE HOLES)

(SPOT DRILL)
T11 M06
G00 G90 G54 X6.5 Y14.
S5000 M03
G43 H11 Z0.5 M08
G83 G98 Z-2.7 F200. Q2.3 L1
X0. Y-12.
G00 G80 Z1.
G00 G90 G54 X10.5 Y-16.5
G43 H11 Z1. M08
G83 G98 Z-0.4 F150. Q0.4 L1
G00 G80 Z0.5 M09
M05
***** X:\8.034.198 KORPUS RP-301\O11301.NC

(CENTROVKA D9/45*)
T9 M06
M08
G00 G90 G54 X-15. Y15.
S3500 M03
G43 H09 Z1.
G83 G98 Z-2.35 F150. Q1. L1
X15. Y15.
X15. Y-15.
X-15. Y-15.
G00 G80 Z1.


T9 M06
M08
G00 G90 G54 X0. Y-12.
S3500 M03
G43 H09 Z1.
G83 G98 Z-4.7 F150. Q6. L1
G00 G80 Z1.

T9 M06
M08
G00 G90 G54 X10.5 Y-16.5
S3500 M03
G43 H09 Z1.
G83 G98 Z-0.4 F150. Q2. L1
G00 G80 Z1.
M09
M05
*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O11301.NC
G28 G91 Z0
G00 G90 G54 X6.5 Y14.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc

(DRILL)
T5 M06
G00 G90 G54 X0. Y-12.
S4000 M03
G43 H05 Z0.5 M08
G83 G98 Z-9. F200. Q9.5 L1
G00 G80 Z0.5 M09
M05
***** X:\8.034.198 KORPUS RP-301\O11301.NC




(CENTROVKA D1.45)
T14 M06
M08
G00 G90 G54 X6.5 Y14.
S3000 M03
G43 H14 Z1.
G83 G98 Z-2.7 F150. Q3.7 L1
G00 G80 Z1.
M09
M05
*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O11301.NC
G28 G91 Z0
G00 G90 G54 X0. Y-12.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc

(MULTIPLE HOLES)

(DRILL)
T20 M06
G00 G90 G54 X6.5 Y14.
S2000 M03
G43 H20 Z0.5 M08
G83 G98 Z-5. F150. Q0.5 L1
G00 G80 Z0.5 M09
***** X:\8.034.198 KORPUS RP-301\O11301.NC



(SVERLO D5)
T5 M06
M08
G00 G90 G54 X0. Y-12.
S4000 M03
G43 H05 Z0.5
G83 G98 Z-9. F200. Q9.5 L1
G00 G80 Z0.5 M09
*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O11301.NC
G28 G91 Z0
G00 G90 G54 X6.5 Y14.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O11301.nc

M30
***** X:\8.034.198 KORPUS RP-301\O11301.NC



(SVERLO D2)
T2 M06
M08
G00 G90 G54 X6.5 Y14.
S2000 M03
G43 H02 Z0.5
G83 G98 Z-5. F150. Q1. L1
G00 G80 Z0.5 M09
M05
G28 G91 Z0
G00 G90 G54 X-150. Y150.
M01

M30
*****


=>echo F | xcopy /s /c /i /h /r /y "W:\8.034.198 KORPUS RP-301\O11301.nc" "X:\8.034.198 KORPUS RP-301\O11301.nc"
Что означает X:\8.034.198 KORPUS RP-301\O11301.nc:
имя файла или каталога
(F = файл, D = каталог)? F
W:\8.034.198 KORPUS RP-301\O11301.nc
W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O11301.nc
Скопировано файлов: 2.

=>echo 07.01.2017-14.29 - "X:\8.034.198 KORPUS RP-301\O11301.nc" 1>>X:\4pu\update.log

=>exit /b

=>call :# "W:\8.034.198 KORPUS RP-301\O12301.nc" "\8.034.198 KORPUS RP-301\O12301.nc" "\8.034.198 KORPUS RP-301\" "O12301" ".nc"

=>if exist "X:\8.034.198 KORPUS RP-301\O12301.nc" (
fc "W:\8.034.198 KORPUS RP-301\O12301.nc" "X:\8.034.198 KORPUS RP-301\O12301.nc"
if not "0" == "0" (ren "X:\8.034.198 KORPUS RP-301\O12301.nc" O12301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\O12301.nc и X:\8.034.198 KORPUS RP-301\O12301.NC
***** W:\8.034.198 KORPUS RP-301\O12301.nc
O12301
(KORPUS RP-301 8.034.198 VID G-G)

***** X:\8.034.198 KORPUS RP-301\O12301.NC
O12301
(8.034.198 KORPUS RP-301 VID G-G)
(21.01.13)
(T1 SHUP RENISHOU)
(T9 CENTROVKA)
(T8 FREZA D8-HSS)
(T4 SVERLO D4.5)
(T6SVERLO D6.5/45*)

*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
(SHUP)

T1 M06
G00 G90 G54 X0 Y0
G43 H01 Z-9.

***** X:\8.034.198 KORPUS RP-301\O12301.NC
(SHUP)
T1 M06
G00 G90 G54 X-15. Y15.
G43 H01 Z10.

*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc

(Probe Bore)
(WrkOfset = 54.)
(Diameter = 9.5)

***** X:\8.034.198 KORPUS RP-301\O12301.NC

(Probe Z Surface)
(WrkOfset = 54.)

*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
G00 G90
G65 P9023 A1. D9.5 S54.

***** X:\8.034.198 KORPUS RP-301\O12301.NC
G00 G90
G65 P9023 A9. S54.

*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc

G28 G91 Z0

***** X:\8.034.198 KORPUS RP-301\O12301.NC

M01
G00 G90 G54 X0 Y0 Z10.

M01 (AVARIINII PUSK PROGRAMI ZDES)

T1 M06
G00 G90 G54 X0 Y0
G43 H01 Z-8.5

*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc


***** X:\8.034.198 KORPUS RP-301\O12301.NC

(Probe Bore)
(WrkOfset = 54.)
(Diameter = 9.5)

G00 G90
G65 P9023 A1. D9.5 S54.


G28 G91 Z0
G00 G90 G54 X-15. Y15.



*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
(CENTROVKA)
T2 M06
G00 G90 G54 X-15. Y15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
(CENTROVKA)
T9 M06
M08
G00 G90 G54 X-15. Y15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
S3000 M03
G43 H02 Z0.5 M08
G83 G98 Z-2. F150. Q0.5 L1
X15. Y15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
S3000 M03
G43 H09 Z2.
G83 G98 Z-4.2 F150. Q1. L1
X15. Y15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
X-15. Y-15.
G00 G80 Z0.5 M09
M05
***** X:\8.034.198 KORPUS RP-301\O12301.NC
X-15. Y-15.
G00 G80 Z2. M09
M05
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O12301.NC
G28 G91 Z0
G00 G90 G54 X-15. Y15.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc

(SVERLO D4.5)
***** X:\8.034.198 KORPUS RP-301\O12301.NC



(SVERLO D4.5)
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
T4 M06
G00 G90 G54 X-15. Y15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
T4 M06
M08
G00 G90 G54 X-15. Y15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
S3000 M03
G43 H04 Z0.5 M08
G83 G98 Z-13. F300. Q3. L1
X15. Y15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
S3000 M03
G43 H04 Z2.
G83 G98 Z-13. F300. Q4. L1
X15. Y15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
X-15. Y-15.
G00 G80 Z0.5 M09
M05
***** X:\8.034.198 KORPUS RP-301\O12301.NC
X-15. Y-15.
G00 G80 Z2. M09
M05
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O12301.NC
G28 G91 Z0
G00 G90 G54 X-15. Y15.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
T8 M06
G00 G90 G54 X-15. Y15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
T8 M06
M08
G00 G90 G54 X-15. Y15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
S2000 M03
G43 H08 Z2. M08
G01 Z0. F50.
N101 G13 G91 G01 Z-3.1 I4.003 K4.05 Q3.203 F50. L1 D08
G00 G90 Z2.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
S2000 M03
G43 H08 Z2.
G01 Z0. F50.
N101 G13 G91 G01 Z-3.1 I4.003 K4.07 Q3.203 F50. L1 D08
G00 G90 Z2.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
T8 M06
G00 G90 G54 X15. Y15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
T8 M06
M08
G00 G90 G54 X15. Y15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
S2000 M03
G43 H08 Z2. M08
G01 Z0. F50.
N102 G13 G91 G01 Z-3.1 I4.003 K4.05 Q3.203 F50. L1 D08
G00 G90 Z2.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
S2000 M03
G43 H08 Z2.
G01 Z0. F50.
N102 G13 G91 G01 Z-3.1 I4.003 K4.07 Q3.203 F50. L1 D08
G00 G90 Z2.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
T8 M06
G00 G90 G54 X15. Y-15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
T8 M06
M08
G00 G90 G54 X15. Y-15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
S2000 M03
G43 H08 Z2. M08
G01 Z0. F50.
N103 G13 G91 G01 Z-3.1 I4.003 K4.05 Q3.203 F50. L1 D08
G00 G90 Z2.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
S2000 M03
G43 H08 Z2.
G01 Z0. F50.
N103 G13 G91 G01 Z-3.1 I4.003 K4.07 Q3.203 F50. L1 D08
G00 G90 Z2.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
T8 M06
G00 G90 G54 X-15. Y-15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC
T8 M06
M08
G00 G90 G54 X-15. Y-15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
S2000 M03
G43 H08 Z2. M08
G01 Z0. F50.
N104 G13 G91 G01 Z-3.1 I4.003 K4.05 Q3.203 F50. L1 D08
G00 G90 Z2. M09
***** X:\8.034.198 KORPUS RP-301\O12301.NC
S2000 M03
G43 H08 Z2.
G01 Z0. F50.
N104 G13 G91 G01 Z-3.1 I4.003 K4.07 Q3.203 F50. L1 D08
G00 G90 Z2. M09
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
G28 G91 Z0 M05
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O12301.NC
G28 G91 Z0 M05
G00 G90 G54 X-15. Y15.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc

(SVERLO D7/45*)
T7 M06
G00 G90 G54 X-15. Y15.
S500 M03
G43 H07 Z0.5 M08
G83 G98 Z-5.2 F50. Q6. L1
X15. Y15.
***** X:\8.034.198 KORPUS RP-301\O12301.NC

(SVERLO-CENTROVKA D6.5/45*)
T6 M06
M08
G00 G90 G54 X-15. Y15.
S2000 M03
G43 H06 Z2.
G83 G98 Z-5.3 F300. Q8. L1
X15. Y15.
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
X-15. Y-15.
G00 G80 Z0.5 M09
M05
***** X:\8.034.198 KORPUS RP-301\O12301.NC
X-15. Y-15.
G00 G80 Z2. M09
M05
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
***** X:\8.034.198 KORPUS RP-301\O12301.NC
G28 G91 Z0
G00 G90 G54 X-150. Y150.
M01
*****

***** W:\8.034.198 KORPUS RP-301\O12301.nc

(FREZA D19.5/45*)
T3 M06
G00 G90 G54 X-15. Y15.
S3000 M03
G43 H03 Z0.5 M08
G83 G98 Z-3.9 F300. Q5. L1
X15. Y15.
X15. Y-15.
X-15. Y-15.
G00 G80 Z0.5 M09
M05
G28 G91 Z0
G00 G90 G54 X0 Y0
M01
M30
***** X:\8.034.198 KORPUS RP-301\O12301.NC

M30
*****


=>exit /b

=>call :# "W:\8.034.198 KORPUS RP-301\O13301.nc" "\8.034.198 KORPUS RP-301\O13301.nc" "\8.034.198 KORPUS RP-301\" "O13301" ".nc"

=>if exist "X:\8.034.198 KORPUS RP-301\O13301.nc" (
fc "W:\8.034.198 KORPUS RP-301\O13301.nc" "X:\8.034.198 KORPUS RP-301\O13301.nc"
if not "1" == "0" (ren "X:\8.034.198 KORPUS RP-301\O13301.nc" O13301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\O13301.nc и X:\8.034.198 KORPUS RP-301\O13301.NC
FC: различия не найдены


=>echo F | xcopy /s /c /i /h /r /y "W:\8.034.198 KORPUS RP-301\O13301.nc" "X:\8.034.198 KORPUS RP-301\O13301.nc"
Что означает X:\8.034.198 KORPUS RP-301\O13301.nc:
имя файла или каталога
(F = файл, D = каталог)? F
W:\8.034.198 KORPUS RP-301\O13301.nc
W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O13301.nc
Скопировано файлов: 2.

=>echo 07.01.2017-14.29 - "X:\8.034.198 KORPUS RP-301\O13301.nc" 1>>X:\4pu\update.log

=>exit /b

=>call :# "W:\8.034.198 KORPUS RP-301\O14301.nc" "\8.034.198 KORPUS RP-301\O14301.nc" "\8.034.198 KORPUS RP-301\" "O14301" ".nc"

=>if exist "X:\8.034.198 KORPUS RP-301\O14301.nc" (
fc "W:\8.034.198 KORPUS RP-301\O14301.nc" "X:\8.034.198 KORPUS RP-301\O14301.nc"
if not "0" == "0" (ren "X:\8.034.198 KORPUS RP-301\O14301.nc" O14301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\O14301.nc и X:\8.034.198 KORPUS RP-301\O14301.NC
FC: различия не найдены


=>exit /b

=>call :# "W:\8.034.198 KORPUS RP-301\O15301.nc" "\8.034.198 KORPUS RP-301\O15301.nc" "\8.034.198 KORPUS RP-301\" "O15301" ".nc"

=>if exist "X:\8.034.198 KORPUS RP-301\O15301.nc" (
fc "W:\8.034.198 KORPUS RP-301\O15301.nc" "X:\8.034.198 KORPUS RP-301\O15301.nc"
if not "0" == "0" (ren "X:\8.034.198 KORPUS RP-301\O15301.nc" O15301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\O15301.nc и X:\8.034.198 KORPUS RP-301\O15301.NC
***** W:\8.034.198 KORPUS RP-301\O15301.nc
T1 M06
G00 G90 G54 X20. Y-6.
G43 H01 Z10.
***** X:\8.034.198 KORPUS RP-301\O15301.NC
T1 M06
G00 G90 G54 X20. Y-4.
G43 H01 Z10.
*****

***** W:\8.034.198 KORPUS RP-301\O15301.nc

G28 G91 Z0
G00 G90 G54 X0 Y0
***** X:\8.034.198 KORPUS RP-301\O15301.NC

G28 G91 Z0
G00 G90 G54 X0 Y0
*****

***** W:\8.034.198 KORPUS RP-301\O15301.nc
G28 G91 Z0
G00 G90 G54 X0 Y0

***** X:\8.034.198 KORPUS RP-301\O15301.NC
G28 G91 Z0
G00 G90 G54 X-100. Y50.

*****

=>exit /b

=>call :# "W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc" "\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc" "\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\" "O10301" ".nc"

=>if exist "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc" (
fc "W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc" "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
if not "1" == "0" (ren "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc" O10301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc и X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.NC
FC: различия не найдены


=>echo F | xcopy /s /c /i /h /r /y "W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc" "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
Что означает X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc:
имя файла или каталога
(F = файл, D = каталог)? F
W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc
Скопировано файлов: 1.

=>echo 07.01.2017-14.29 - "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc" 1>>X:\4pu\update.log

=>exit /b

=>call :# "W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.nc" "\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.nc" "\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\" "O15301" ".nc"

=>if exist "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.nc" (
fc "W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.nc" "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.nc"
if not "0" == "0" (ren "X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.nc" O15301_170107-14.29.nc ) else (goto next )
)
Сравнение файлов W:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.nc и X:\8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O15301.NC
FC: различия не найдены

=>exit /b (весь лог в пост не поместился, вырезал кусок где в обработку попадает несколько "проблемных" файлов)


Косяк в том, что из нескольких тысяч фалов одни и те же 11 каждый раз копируются как измененные...
хотя когда сравниваешь эти 2 файла, что Total Commander, что команда FC твердят "различия не найдены"!
уже блин глаз дергается, в чем косяк?

была мысль, что в этих фалах есть волшебные служебные символы - но как проверить не знаю
опять же проблема проявляется только когда обработка файлов происходит в цикле...


p.s. VSS не предлагать:
- том, для снижения нагрузки, отформатирован в 16к, а размер фалов в среднем 1-5к,
- и VSS хранит только последние 64 изменения (если не глюкнет), а мне надо бесконечное количество версий

Iska
07-01-2017, 18:25
kvant-07, используйте обычный backup (причём, необязательно встроенный), не изобретайте велосипед.

Elven
07-01-2017, 22:14
if not "%errorlevel%" == "0"
скорей всего здесь, хотя сказать наверняка не могу. если мое предположение верно, то дело не в файлах, а в их доступности. errorlevel у FC может принимать три значения; если 0 - файлы равны, если 1 - не равны, если 2 - файл недоступен, возможно периодически конкретно эти файлы заняты чем-то еще, что порождает такую ошибку. однако, повторюсь, это только предположение. и коллега Iska категорически прав, какой-нибудь бэкапящий софт решает проблему. если же уперлись именно в cmd/bat можно посмотреть robocopy, возможно поигравшись с ключами получится добиться именно того, что нужно.

Iska
08-01-2017, 00:33
errorlevel у FC может принимать три значения »
Четыре. Есть ещё:
-1 Invalid syntax (e.g. only one file passed)

kvant-07
08-01-2017, 12:08
используйте обычный backup (причём, необязательно встроенный), не изобретайте велосипед. »можно ли чуть подробнее?
буду признателен если с примерами


Elven, добавил вывод errorlevel в лог:set SrcDir=W:\4pu\программы обработки деталей
set DstDir=X:
set log="X:\4pu\update.log"
if "%TIME:~0,1%" == " " (set hh=0%TIME:~1,1%) else (set hh=%TIME:~0,2%)
set DateTime=%DATE:~8,2%%DATE:~3,2%%DATE:~0,2%-%hh%.%TIME:~3,2%

for /f "delims=" %%a in ('dir/a-d/b/s "%SrcDir%"') do call :# "%%a" "%%~pnxa" "%%~pa" "%%~na" "%%~xa"
echo. >> %log%
goto :EOF

:#
if exist "%DstDir%%~2" (
fc %1 "%DstDir%%~2"
if "%errorlevel%" == "0" (goto next) else (
echo errorlevel = %errorlevel%: >> %log%
ren "%DstDir%%~2" %~4_%DateTime%%~5
)
)
echo F | xcopy /s /c /i /h /r /y %1 "%DstDir%%~2"
echo %date%-%hh%.%TIME:~3,2% - "%DstDir%%~2" >> %log%

:next
exit /bрезультат под спойлером:
Журнал добавления файлов в архив
=====================================================================
errorlevel = 1:
08.01.2017-12.53 - "8.034.198 KORPUS RP-301\O11301.nc"
errorlevel = 1:
08.01.2017-12.53 - "8.034.198 KORPUS RP-301\O13301.nc"
errorlevel = 1:
08.01.2017-12.53 - "8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
errorlevel = 1:
08.01.2017-12.53 - "8.054.083 KRISHKA KV-04-1- 27.05.16\O40011.nc"
errorlevel = 1:
08.01.2017-12.54 - "основание 8.074.075 рп-301\Текстовый документ.txt"
errorlevel = 1:
08.01.2017-12.54 - "штуцер рд-301 8.652.169\1 пост\O0094"
errorlevel = 1:
08.01.2017-12.54 - "Штуцер РУК 8.652.190\1 пост\O0078"
errorlevel = 1:
08.01.2017-12.54 - "8.034.198 KORPUS RP-301\O11301.nc"
errorlevel = 1:
08.01.2017-12.54 - "8.034.198 KORPUS RP-301\O13301.nc"
errorlevel = 1:
08.01.2017-12.54 - "8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
errorlevel = 1:
08.01.2017-12.54 - "8.054.083 KRISHKA KV-04-1- 27.05.16\O40011.nc"

errorlevel = 1:
08.01.2017-12.55 - "8.034.198 KORPUS RP-301\O11301.nc"
errorlevel = 1:
08.01.2017-12.55 - "8.034.198 KORPUS RP-301\O13301.nc"
errorlevel = 1:
08.01.2017-12.55 - "8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
errorlevel = 1:
08.01.2017-12.55 - "8.054.083 KRISHKA KV-04-1- 27.05.16\O40011.nc"
errorlevel = 1:
08.01.2017-12.55 - "основание 8.074.075 рп-301\Текстовый документ.txt"
errorlevel = 1:
08.01.2017-12.55 - "штуцер рд-301 8.652.169\1 пост\O0094"
errorlevel = 1:
08.01.2017-12.55 - "Штуцер РУК 8.652.190\1 пост\O0078"
errorlevel = 1:
08.01.2017-12.55 - "8.034.198 KORPUS RP-301\O11301.nc"
errorlevel = 1:
08.01.2017-12.55 - "8.034.198 KORPUS RP-301\O13301.nc"
errorlevel = 1:
08.01.2017-12.55 - "8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
errorlevel = 1:
08.01.2017-12.55 - "8.054.083 KRISHKA KV-04-1- 27.05.16\O40011.nc"

errorlevel = 1:
08.01.2017-12.56 - "8.034.198 KORPUS RP-301\O11301.nc"
errorlevel = 1:
08.01.2017-12.56 - "8.034.198 KORPUS RP-301\O13301.nc"
errorlevel = 1:
08.01.2017-12.56 - "8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
errorlevel = 1:
08.01.2017-12.56 - "8.054.083 KRISHKA KV-04-1- 27.05.16\O40011.nc"
errorlevel = 1:
08.01.2017-12.56 - "основание 8.074.075 рп-301\Текстовый документ.txt"
errorlevel = 1:
08.01.2017-12.56 - "штуцер рд-301 8.652.169\1 пост\O0094"
errorlevel = 1:
08.01.2017-12.56 - "Штуцер РУК 8.652.190\1 пост\O0078"
errorlevel = 1:
08.01.2017-12.56 - "8.034.198 KORPUS RP-301\O11301.nc"
errorlevel = 1:
08.01.2017-12.56 - "8.034.198 KORPUS RP-301\O13301.nc"
errorlevel = 1:
08.01.2017-12.56 - "8.034.198 KORPUS RP-301\8.034.198 KORPUS RP-301\O10301.nc"
errorlevel = 1:
08.01.2017-12.56 - "8.054.083 KRISHKA KV-04-1- 27.05.16\O40011.nc" запустил несколько раз, в лог попадают одни и те же 11 файлов, errorlevel у всех =1

если мое предположение верно, то дело не в файлах, а в их доступности »
- запустил для тома chkdsk /f /r /x - ошибок нет
- том в 10 raid, массив на аппаратном intel RS2WC080 - на нем файловый сервер живет лет 5, в его консоли: "optimal"
- попробовал удалить антивирус, перезагрузился, при запуске сценария результат тот же
- скачал свежий live cd от касперского, проверил - чисто
- выполняю от встроенного админа, права все и на все
- пересечений заданий в планировщике нет - с данным каталогом работает только 1 сценарий
- при эксперименте пользователей не было и файлы в папке источнике не менялись
- длина путей до 260 символов...
подскажите еще варианты, у меня фантазия закончилась :\

можно посмотреть robocopy, возможно поигравшись с ключами получится добиться именно того, что нужно »посмотрел, читал, но использовать не приходилось...
Как ее заставить при копировании не затирать уже имеющиеся файлы при совпадении имен если они были изменены?


от себя: смотрел вариант с архиватором типа:WinRAR.exe a -ver -rr3pно какой-то кривой результат
да, он хранит все файлы, но он их не сравнивает, а тупо при совпадении имен, добавляет те же файлы в существующий архив с новым именем, тем самым каждый раз увеличивая его объем
причем, если с объемом еще можно мирится, то процесс поиска - когда файл был изменен за сотни таких добавлений в архив, не представляется возможным




© OSzone.net 2001-2012