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


    顶楼有好几个txt,你start /b调用的是哪个?

TOP

回复 20# kzppp


我每次有CALL调用内部的,你用PUSHD

call是比较影响效率的

TOP

回复 19# kzppp


有什么可以判断我调用的批被人为终止

一般是通过进程号或者cmd窗口的标题来判断

TOP

  1. dir /ad-s-h /b h:|findstr /v "雪山飞狐"|findstr /v "轩辕"|findstr /v "修真">>d:mulu.txt
  2. for /f "delims=" %%i in (d:mulu.txt) do (
  3. for /d  /r "h:\%%i" %%j in (*妹妹*) do (
  4. ren "%%j" 哥哥
  5. )
复制代码


改成这样试试:
  1. for /f "delims=" %%i in ('dir /ad-s-h /b h: ^| findstr /v "雪山飞狐.* 轩辕.* 修真.*"') do (
  2.     pushd "h:\%%i"
  3.     for /d %%j in (*妹妹*) do (
  4.         ren "%%j" 哥哥
  5.     )
  6.     popd
  7. )
复制代码

TOP

  1. @echo off
  2. title 自动检测
  3. mode con: cols=40 lines=15
  4. setlocal enabledelayedexpansion
  5. set dr1=%cd%
  6. set dr2=%cd%\批处理临时文件夹
  7. if not exist 批处理临时文件夹 md 批处理临时文件夹
  8. cd /d %dr2%
  9. :again
  10. set num1=%num%
  11. for %%i in (I,J,K,L,M,N,O,P,Q,R ) do (
  12.     set m%%i=                   %%i:不存在或者没插好
  13. )
  14. del /q lieb.txt 2>nul
  15. call :xiezc
  16. set /a num=0
  17. wmic logicaldisk where "drivetype=2" get caption|find ":">>lieb.txt
  18. for /f  "skip=1 delims=:"  %%a in (lieb.txt) do (     
  19.     set /a num+=1   
  20.     if exist "%%axie.txt" (
  21.         for %%i in (I,J,K,L,M,N,O,P,Q,R ) do (
  22.             if "%%a" == "%%i" set m%%a=!num! :%%a:复制完毕卸载中!
  23.         )
  24.     )
  25.     call :jiestix %%a
  26.     if exist %%a:k.txt (
  27.         for %%i in (I,J,K,L,M,N,O,P,Q,R) do (
  28.             if "%%a" == "%%i" set m%%a=!num! :%%a:还在检查中!
  29.         )
  30.     )
  31.     if exist "%%a:t.txt"  (
  32.         for %%i in (I,J,K,L,M,N,O,P,Q,R) do (
  33.             if "%%a" == "%%i" set m%%a=!num! :%%a:复制数据中,请留意!
  34.         )
  35.     )  
  36.     if exist "%%a:o.txt"  (
  37.         for %%i in (I,J,K,L,M,N,O,P,Q,R) do (
  38.             if "%%a" == "%%i" set m%%a=!num! :%%a:复制已经结束,请注意!
  39.         )
  40.     )
  41.     if not exist "%%a:o.txt" (
  42.         if not exist "%%a:t.txt" (
  43.             if not exist "%%axie.txt" (  
  44.                 if not exist "%%a:k.txt" (
  45.                     set m%%a=!num! :%%a:符合盘,即将复制
  46.                     cd /d "%dr1%\批处理包"
  47.                     start /b %%a.bat
  48.                     cd /d %dr2%
  49.                 )
  50.             )
  51.         )
  52.     )
  53. )
  54. mode con: cols=40 lines=15
  55. color 0f
  56. echo         本次扫描共:!num!张卡
  57. echo         上次扫描共:%num1%张卡
  58. for %%i in (I,J,K,L,M,N,O,P,Q,R) do (
  59.     echo !m%%i!
  60. )
  61. echo    稍后重新扫描,请留意盘情况变化
  62. set /p=10秒<nul
  63. for /l %%i in (3 -1 0) do (
  64.     for /l %%j in (1 1 4) do (
  65.         set /p=<nul
  66.     )
  67.     if %%i lss 10 (
  68.         set /p=          0%%i秒<nul
  69.     ) else (
  70.         set /p=          %%i秒<nul
  71.     )
  72.     title %%i 秒后重新扫描~
  73.     ping 127.0.0.1 -n 2 >nul 2>nul
  74. )
  75. goto again
  76. goto :eof
  77. :xiez
  78. if exist "%1xie.txt" (
  79.     for %%i in ( I,J,K,L,M,N,O,P,Q,R ) do (
  80.         if "%1" == "%%i" set m%1=%1:复制完毕卸载中!
  81.     )
  82. )
  83. goto :eof
  84. :xiezc
  85. for %%i in (I,J,K,L,M,N,O,P,Q,R) do (
  86.     if exist "%%ixiecg.txt" del /q %%ixiecg.txt
  87. )
  88. goto :eof
  89. :jiestix
  90. if exist "%1:o.txt" (
  91.     cls
  92.     mode con: cols=30 lines=3
  93.     echo %1复制完成!
  94.     set /p=5秒<nul
  95.     for /l %%i in (1 -1 0) do (
  96.         for /l %%j in (1 1 3) do (
  97.             set /p=<nul
  98.         )
  99.         set /p=%%i秒<nul
  100.         color %%if
  101.         title %%i 秒后提醒结束
  102.         ping 127.0.0.1 -n 2 >nul 2>nul
  103.     )
  104. )
  105. goto :eof
复制代码

用start /b启动的代码是什么?贴出来看看是否存在影响效率的部分

TOP

顶楼代码中的
:xiez
是谁在调用?

TOP

回复 7# kzppp


    问题太多了,一个一个解决吧。你给出具体要求,我写代码,然后我们讨论思路。

TOP

回复 4# kzppp


    请用文字详细描述一下需求,我帮你重写代码。

TOP

试试这个软件:
http://www.bathome.net/thread-3573-1-1.html

TOP

返回列表