[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
原帖由 sgaizxt001 于 2010-2-22 05:04 发表
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2 delims==" %%i in (definfo.dat) do (
   if /i "%%i"=="curdefs" set str=%%j
                                                     )

xco ...

谢谢!

经测试可行,还差不能自动调用 call "%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd" 不知那里漏什么了

delims==" %%i  "%%i"=="curdefs" set str=%%j 写入back.cmd后缺一个%,%%i改成%%%i后,无法成功写back.cmd
  1. @echo off
  2. echo @echo off>"%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd"
  3. echo setlocal enabledelayedexpansion>>"%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd"
  4. echo for /f "tokens=1,2 delims==" %%i in (definfo.dat) do (>>"%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd"
  5. echo if /i "%%i"=="curdefs" set str=%%j>>"%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd"
  6. echo )>>"%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd"
  7. echo xcopy /e /y "%%~dp0%%str%%" "E:\NETT_Slof\Symantec Antivirus企业版9.0\VirusDefs\%%str%%">>"%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd"
  8. call "%CommonProgramFiles%\Symantec Shared\VirusDefs\back.cmd"
复制代码

[ 本帖最后由 temp 于 2010-2-23 20:57 编辑 ]

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2 delims==" %%i in (definfo.dat) do (
  4.    if /i "%%i"=="curdefs" set str=%%j
  5.                                                      )
  6. xcopy /e /y "%~dp0%str%" "E:\NETT_Slof\Symantec Antivirus企业版9.0\VirusDefs\%str%\"
  7. pause >nul
复制代码

你试一下看看,我测试可以

[ 本帖最后由 sgaizxt001 于 2010-2-22 05:06 编辑 ]

TOP

现在的最新文件夹名(红色部分)
definfo.dat
[DefDates]
CurDefs=20100220.006
LastDefs=20100219.002

usage.dat
[20100220.006]
DEFWATCH_10=1
NAVCORP_70=1
NAVCORP_70_2=1

TOP

没人会吗?
在C:\Program Files\Common Files\Symantec Shared\VirusDefs中有两个文件中包含最新的文件夹名,利用他们也可以啊
definfo.dat
[DefDates]
CurDefs=20100219.002
LastDefs=20100201.009

usage.dat
[20100219.002]
DEFWATCH_10=1
NAVCORP_70=1
NAVCORP_70_2=1

TOP

下列代码可以成功复制最新文件夹内的内容到指定文件夹,但我希望连文件夹一起复制,请朋友们帮忙修改一下,谢谢!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call:main
  4. pause
  5. endlocal
  6. goto :eof
  7. :main
  8. if not exist "E:\NETT_Slof\Symantec Antivirus企业版\VirusDefs" md "E:\NETT_Slof\Symantec Antivirus企业版\VirusDefs"
  9. call:findnewfolder "C:\Program Files\Common Files\Symantec Shared\VirusDefs"
  10. if "!answer!"=="" (
  11. echo C:\Program Files\Common Files\Symantec Shared\VirusDefs里找不到文件夹
  12. exit /b
  13. )
  14. for /f "delims=" %%i in ('dir /a:-d /b /s "!answer!"\') do (
  15. call:copyandrename "%%i" "E:\NETT_Slof\Symantec Antivirus企业版\VirusDefs\%%~nxi"
  16. )
  17. exit /b
  18. :findnewfolder
  19. for /f "delims=" %%i in ('dir /a:d /b /o:-d %1') do (
  20. set "answer=%~1\%%i"
  21. exit /b
  22. )
  23. set "answer="
  24. exit /b
  25. :copyandrename
  26. if not exist %2 (
  27. copy %1 %2
  28. exit /b
  29. ) else (
  30. call:copyandrename %1 "%~dp2n%~nx2"
  31. exit /b
  32. )
复制代码

TOP

返回列表