找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22781|回复: 2

[网络连接] 如何结束批处理中for循环导致的没有结束的目录搜索?

[复制链接]
发表于 2011-11-16 23:39:01 | 显示全部楼层 |阅读模式
欲将另一机器上共享目录内的文件定时复制到本机上,代码如下:
  1. REM **********************************************************
  2. REM *   复***务器下Oracle数据库备份文件到客户端批处理脚本   *
  3. REM *                                                        *
  4. REM *                                                        *
  5. REM **********************************************************

  6. @echo off  
  7. REM 取当前系统时间,可能因操作系统不同而取值不一样  
  8. set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%
  9. set CURTIME=%time:~0,2%
  10. REM 小时数如果小于10,则在前面补0  
  11. if "%CURTIME%"==" 0" set CURTIME=00
  12. if "%CURTIME%"==" 1" set CURTIME=01
  13. if "%CURTIME%"==" 2" set CURTIME=02
  14. if "%CURTIME%"==" 3" set CURTIME=03
  15. if "%CURTIME%"==" 4" set CURTIME=04
  16. if "%CURTIME%"==" 5" set CURTIME=05
  17. if "%CURTIME%"==" 6" set CURTIME=06
  18. if "%CURTIME%"==" 7" set CURTIME=07
  19. if "%CURTIME%"==" 8" set CURTIME=08
  20. if "%CURTIME%"==" 9" set CURTIME=09
  21. set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

  22. REM 设置备份目录
  23. set BACKUP_DIR=E:\ORA_BACKUP

  24. REM 创建备份目录
  25. if not exist %BACKUP_DIR% md %BACKUP_DIR%

  26. REM 设备份目录为当前目录
  27. pushd %BACKUP_DIR%
  28. set CURDIR=%BACKUP_DIR%

  29. REM 删除超过30天的备份
  30. for /f "skip=30" %%i in ('dir/b/o-d *.DMP') do del %%i&&echo.%date:~0,10% %time:~0,8% 从%BACKUP_DIR%删除%%i>>%CURDIR%\LOG.TXT
  31. for /f "skip=30" %%i in ('dir/b/o-d *.LOG') do del %%i&&echo.%date:~0,10% %time:~0,8% 从%BACKUP_DIR%删除%%i>>%CURDIR%\LOG.TXT&&echo.------------------------------------------------------------------>>%CURDIR%\LOG.TXT

  32. REM 映射服务器备份目录为本地S盘
  33. net use S: \\192.168.1.99\ORA_BACKUP server /user:administrator
  34. pushd s:\

  35. REM 复制最后一次备份文件到当前目录
  36. for /f %%i in ('dir/od/b *.DMP') do set dmpfile=%%i
  37. for /f %%i in ('dir/od/b *.LOG') do set logfile=%%i
  38. Xcopy /-y %dmpfile% %BACKUP_DIR%&&echo.%date:~0,10% %time:~0,8% 复制%dmpfile%到%BACKUP_DIR%>>%CURDIR%\LOG.TXT
  39. Xcopy /-y %logfile% %BACKUP_DIR%&&echo.%date:~0,10% %time:~0,8% 复制%logfile%到%BACKUP_DIR%>>%CURDIR%\LOG.TXT&&echo.------------------------------------------------------------------>>%CURDIR%\LOG.TXT

  40. REM 断开映射
  41. net use S: /del
复制代码
执行后出现如下提示,不能自动断开连接,请教:如何解决?
发表于 2011-11-17 09:46:41 | 显示全部楼层
那天弄电脑的用for语句和regsvr32重新注册了系统所有组件,我没看清,请问如何实现?

评分

参与人数 1PB -2 收起 理由
CrLf -2 无关问题请自开新帖,另外请勿重复提问

查看全部评分

 楼主| 发表于 2011-12-3 23:27:56 | 显示全部楼层
已结贴
最后一句改为:
net use S: /del /y
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 05:31 , Processed in 0.022367 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表