hawk00754 2021-10-19 10:02 采纳率: 50%
浏览 20
已结题

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

@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
帮我看看上面的代码有什么问题,始终无法实现

  • 写回答

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=%%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
    上面的问题是我调试的过程的修改,有明显的错误,我改了一下,这是原版

    评论

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 创建了问题 10月19日