批处理实现 根据文件修改时间 不同,更新本地文件

@echo off
setlocal enabledelayedexpansion
set localpath=d:\inpapp
set publicpath=\isilon\Share\Des\inpapp
for /f %%i in ( 'dir /b /a-d /s "%publicpath%"') do (
set filename=%%nxi
set time1=%%
ti
set fullname=%%i
set fullname=!fullname:%publicpath%=%localpath%!
for %%j in (%%i) do (
set time2=%%~tj
rem !time1!==!time2!情况也不行
if not "%time1%"=="%time2%" (
echo '正在更新!filename!'
copy /y /z %%i !fullname! >nul)
)
)
pause
帮我看看上面的代码有什么问题,始终无法实现

@echo off
setlocal enabledelayedexpansion
set "localpath=d:\inpapp"
set publicpath=\isilon\Share\Des\inpapp
for /f %%i in ( 'dir /b /a-d /s "%publicpath%"') do (
set filename=%%nxi
set time1=%%
ti
set fullname=%%i
set fullname=!fullname:%publicpath%=%localpath%!
for %%j in (!fullname!) do (
set time2=%%~tj
if not "%time1%"=="%time2%" (
echo '正在更新!filename!'
copy /y /z %%i !fullname! >nul

)
)
pause
上面的问题是我调试的过程的修改,有明显的错误,我改了一下,这是原版

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。