파일 덮어 쓰기 전 백업 일괄 처리

@echo off
setlocal enabledelayedexpansion 
::   for       ,     

set workpath=C:\Users\%username%\Documents\FileReplaceRegion
::     

if not exist %workpath% (mkdir %workpath%)

set sourcepath=E:\feicaixian\Buffer\TSIS21_2018_10_26\TSIS21
::            

set NewFolder=%workpath%\%date:~0,4% %date:~5,2% %date:~8,2% %time:~0,2% %time:~3,2% %time:~6,2% _backup
::        

mkdir %NewFolder%

dir /b %workpath%\FileToReplace > %workpath%\filename.txt
::             ,    txt  

::     
set /a fileNum=0 
for /f "delims=" %%i in (%workpath%\filename.txt) do (
::  "delims="           
set name="%sourcepath%\%%~i"
if exist !name! (
    move !name! %NewFolder%
    set /a fileNum+=1
) else (
    echo [   ] !name! 
)
)

if %fileNum% equ 0 (rd %NewFolder% && echo      ,    ) else (echo     !)

::     
for /f "delims=" %%a in ('dir /s/b %workpath%\FileToReplace\') do (
  move "%%a" %sourcepath%
)

::        
for /f "delims=" %%a in ('dir /ad /s /b %workpath%\') do (
  rd "%%a">nul 2>nul
)
::  rd                      。      ,        ,         
::/b           ,               


pause

 
문서 아래 에 디 렉 터 리 를 만 듭 니 다. \ FileReplace Region 은 작업 공간 으로 FileToReplace 폴 더 를 만 들 고 교체 파일 을 넣 습 니 다.코드 에 대상 디 렉 터 리 sourcepath 를 지정 합 니 다. 바 뀔 파일 이 있 는 디 렉 터 리 입 니 다.
코드 를 bat 파일 에 기록 하고 실행 합 니 다.새 파일 이 대상 디 렉 터 리 에 들 어가 기 전에 오래된 파일 은 작업 영역 에 백업 되 어 파일 을 덮어 쓰기 전에 백업 합 니 다.

좋은 웹페이지 즐겨찾기