[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何实现备份到E盘并删除D盘备份过的邮件

最近由于自已的误操作,造成一部分邮件丢失。所以,想弄一个备份邮件的BAT,我是想把D盘live mail文件夹中的09年6月24之前的邮件备份到E盘(在E盘以计算机名和日期文件夹自动创建备份文件夹)。再删除D盘备份过的文件(也就是09年6月24日之前的邮件)。我尝试着写了一个,并参考论坛上的一些代码,进行修改了下。但是没达到效果,请大家帮我看看错在哪?
谢谢!
  1. @echo off
  2. if %date:~8,2%==18 goto backup
  3. goto dateerror
  4. :backup
  5. taskkill /im wlmail.exe /f
  6. set pcname=%computername%
  7. set dir1=d:\live mail
  8. set dir2=E:\%pcname%\
  9. setlocal enabledelayedexpansion
  10. for /f "tokens=*" %%a in ('dir f:\zx /b') do (
  11. set ti=%%~ta
  12. if "!ti:~0,10!"=="2009-06-18"  copy "%%~fa" f:\123\ /y
  13. )
  14. rd /s /q "%dir2%\%rdel%"
  15. set dir2=%dir2%%date:~,10%\
  16. cd E:\%pcname%\
  17. title Live 邮件备份@%date:~,10%
  18. echo.
复制代码

[ 本帖最后由 dong1977 于 2009-6-25 14:35 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

  原始邮件的文件名长什么样?你所希望的日期究竟是什么格式……细节决定成败,请提供具体细节,并更新至顶楼。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

在群上谈了n久才知楼主最终目的,代码如下:
  1. @echo off
  2. if not exist e:\%computername%-%date:~,-4% md e:\%computername%-%date:~,-4%
  3. for /f "delims=" %%a in ('dir /s /b "d:\live mail\*.eml"') do if "%%~ta" leq "2009%date:~4,1%06%date:~4,1%24" move /y "%%a" e:\%computername%-%date:~,-4%\
复制代码

[ 本帖最后由 batman 于 2009-6-24 16:40 编辑 ]
***共同提高***

TOP

问题已解决,
谢谢!

TOP

返回列表