@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=%%nxiti
set time1=%%
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
帮我看看上面的代码有什么问题,始终无法实现
批处理实现 根据文件修改时间 不同,更新本地文件
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
hawk00754 2021-10-19 10:11关注@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=%%nxiti
set time1=%%
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
上面的问题是我调试的过程的修改,有明显的错误,我改了一下,这是原版解决 无用评论 打赏 举报