批處理之刪除或備份指定天數之前的文件


 

forfiles /p "E:\erpweb\ssolog" /s /m *log /d -15 /c "cmd /c del @path"
示例:刪除日志

 

e:
cd E:\Logfiles\W3SVC1
del /q /f *.log
刪除IIS日志:

 

@echo off
echo 正在清理系統垃圾文件,請稍等......
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清理系統垃圾完成!
echo. & pause  
服務器垃圾清理

 

@echo ***************************************************************************************
@echo           刪除指定天前的文件
@echo   1.設置需要刪除文件所在的文件路徑
@echo   2.設置需要刪除多少天之前
@echo ***************************************************************************************
@echo off
set /p SrcDir="請輸入需要刪除的文件所在文件路徑(如d:\test):"
set /p DaysAgo="請設置需要刪除多少天之前(50):"

:start
forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c  echo @path"

set /p noyes=請確認是否刪除上述文件(n/y;n:否,y:是)
if /i "%noyes%"=="n" (echo 您輸入是n, 已經取消刪除!
) else ( 
 forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c  del /f /q /a @path" 
 echo ..............................刪除文件完成................................
)

set /p goon=是否繼續刪除文件(n/y;n:否,y:是)
if /i "%goon%"=="n" (echo 您輸入是n, 已經取消繼續刪除! 
) else (goto :start 
)

pause>nul
goto :eof
delfileforAgoDays.bat

 

@echo ***************************************************************************************
@echo           備份指定天前的文件
@echo   1.設置需要備份文件所在的文件路徑
@echo   2.設置需要備份n天之前
@echo ***************************************************************************************
@echo off
set /p SrcDir="請輸入需要備份的文件所在文件路徑(如d:\test):"
set /p TargetDir="請輸入文件備份存儲的文件路徑(如c:\test):"
set /p DaysAgo="請設置需要備份多少天之前(如:50):"

:start
forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c  echo @path"

set /p noyes=請確認是否備份上述文件(n/y;n:否,y:是)
if /i "%noyes%"=="n" (echo 您輸入是n, 已經取消備份!
) else ( 
 forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c  copy  @path  %TargetDir%" 
 echo ..............................備份文件完成................................
)

set /p goon=是否繼續備份文件(n/y;n:否,y:是)
if /i "%goon%"=="n" (echo 您輸入是n, 已經取消繼續備份! 
) else (goto :start 
)

pause>nul
goto :eof
copyfileforAgoDays.bat

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM