Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Глюк FC в цикле (http://forum.oszone.net/showthread.php?t=322454)

kvant-07 07-01-2017 15:42 2701539

Глюк FC в цикле
 
Вложений: 1
Проблема: есть папка, в ней несколько тысяч файлов
необходимо при резервном копировании папки обеспечить версионность - при изменении файла в папке источнике, в папке назначения сохранять и старый файл и новый

написал сценарий, запускаю его каждый час в рабочее время:
Код:

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 2701596

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

Elven 07-01-2017 22:14 2701675

Код:

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

Iska 08-01-2017 00:33 2701707

Цитата:

Цитата Elven
errorlevel у FC может принимать три значения »

Четыре. Есть ещё:
Цитата:

-1 Invalid syntax (e.g. only one file passed)

kvant-07 08-01-2017 12:08 2701774

Цитата:

Цитата Iska
используйте обычный 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

результат под спойлером:
update.log
Журнал добавления файлов в архив
=====================================================================
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

Цитата:

Цитата Elven
если мое предположение верно, то дело не в файлах, а в их доступности »

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

Цитата:

Цитата Elven
можно посмотреть robocopy, возможно поигравшись с ключами получится добиться именно того, что нужно »

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


от себя: смотрел вариант с архиватором типа:
Код:

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


Время: 03:07.

Время: 03:07.
© OSzone.net 2001-