OJBakker wrote:A minor syntax problem might be the problem.
change EQU to EQL
? EQU is correct, EQL does nothing. Personally I prefer using == for EQU comparisons.
Kunai, I strongly suggest using quotation marks around your paths, but anyway, this
should work...
Code: Select all
setlocal EnableDelayedExpansion
IF EXIST P:\DataTest\CVATest\%lastCubeDate: =%_all.csv (
fc P:\DataTest\CVATest\%year%%month%%day%_all.csv P:\DataTest\CVATest\%lastCubeDate: =%_all.csv | find "FC: no diff" >nul
IF !ERRORLEVEL! EQU 1 (
cd P:\DataTest\CVATest
move P:\DataTest\CVATest\cvagui.csv P:\DataTest\%year%%month%%day%_all.csv
del P:\DataTest\CVATest\%lastCubeDate: =%_all.csv
) ELSE (
echo P:\DataTest\CVATest\%lastCubeDate: =%_all.csv not found.
move P:\DataTest\CVATest\cvagui.csv P:\DataTest\%year%%month%%day%_all.csv
))
What need for the change directory? Also as Ed mentioned in your other thread, I would always use the binary switch with
fc. Personally I would write it:
Code: Select all
setlocal enabledelayedexpansion
set file1="P:\DataTest\CVATest\%lastCubeDate: =%_all.csv"
set file2="P:\DataTest\CVATest\%year%%month%%day%_all.csv"
set file3="P:\DataTest\CVATest\cvagui.csv"
if exist %file1% (
fc /b %file2% %file1%|find "FC: no diff">nul
if !ERRORLEVEL!==1 (
move %file3% %file2:CVATest\=%
del %file1%
) else (
echo: ^> %file1% not found.
move %file3% %file2:CVATest\=%
))
Also no need for delayed expansion if you move the errorlevel check out of the main condition (but add verify>nul reset for errorlevel).
Code: Select all
set file1="P:\DataTest\CVATest\%lastCubeDate: =%_all.csv"
set file2="P:\DataTest\CVATest\%year%%month%%day%_all.csv"
set file3="P:\DataTest\CVATest\cvagui.csv"
if exist %file1% (fc /b %file2% %file1%|find "FC: no diff">nul) else verify>nul
if %ERRORLEVEL%==1 (
move %file3% %file2:CVATest\=%
del %file1%
) else (
echo: ^> %file1% not found.
move %file3% %file2:CVATest\=%
)