内部复制文件部分停止为批处理文件工作

时间:2017-01-22 10:14:57

标签: file batch-file for-loop copy archive

任何建议都将受到赞赏。

这一直有效,直到我输入if exists来检查文件是否在目标目录中。 总体: 我想:

  • 1.读取文本文件中的列表,获取要复制的文件名。
  • 2.检查文件是否存在将其重命名为目标目录
  • 3.移动新的
  • 4.将旧文件移至档案目录。

第3项 的代码无效(在 @echo之后“复制文件”

代码:

FOR /F "tokens=*" %%a IN ('type %~dp0list.txt') DO (
    if exist "%Dest_Dir%\%%a" (
        @echo File Found
        ren "%Dest_Dir%\%%a" %%a.%DATE_VAR%.RFC#_%number%.bkup  
        Set "backup=1"
        ) else  @echo no file exits 
    @echo 
    @echo "Copying file"
    FOR /R "%SEARCH_DIR%" %%f IN (*%%a*) DO (
        @echo "inside Copying file "  %%f
        SET "SRC=%%~dpf"
        SET DEST=!SRC:%SEARCH_DIR%=%DEST_DIR%!
        xcopy /S /I "%%~f" "!DEST!"
    )
)
If "backup"=="1" (
    @echo *INSIDE MOVE*
    Rem Copy "%Dest_Dir%\*.*.*.*.bkup" "%ARCHIVE_DIR%\*.*.*.*.bkup"
    Copy "%Dest_Dir%\*bkup" "%ARCHIVE_DIR%\*bkup"
    Del "%Dest_Dir%\*.*.*.*.bkup"
    SET "backup=0"
    )

0 个答案:

没有答案