Board logo

标题: [游戏娱乐] 在目录中乱窜的批处理 [打印本页]

作者: 523066680    时间: 2013-7-17 21:13     标题: 在目录中乱窜的批处理

本帖最后由 523066680 于 2016-10-22 12:49 编辑

声明:因为想到了所以写了,比较务实的客官请绕道。

制作要求:
1. 只能用move移动,不使用copy
2. 不管放在哪个中间目录,打开的时候都能接着进行移动,直到最后一个目录为止
  1. :: 遍历目录并不断移动位置的批处理
  2. :: 523066680@163.com
  3. :: 阶段:初步完成
  4. :: 备注:给这个脚本取名暂时不能有空格
  5. @echo off
  6. setlocal enabledelayedexpansion
  7. if "%cd%"=="%~d0\" (type nul>%~d0\rcd_path.x)
  8. :: 把遍历过的路径写到根目录
  9. echo %cd% >>%~d0\rcd_path.x
  10. title %cd%
  11. set /a i=0
  12. for /f "tokens=*" %%a in ('dir /ad /b') do (
  13.     set /a i+=1
  14.     set F!i!=%%~fsa
  15. )
  16. if %i% neq 0 (goto :into) else (goto :pre_next)
  17. exit
  18. :into
  19. (
  20.     move "%~fs0" "%F1%"
  21.     echo %F1%
  22.     cd "%F1%"
  23.     start %~nx0
  24.     exit
  25. )
  26. :pre_next
  27.     echo %cd%
  28.     echo in_pre_next
  29.     for %%v in ("%cd%") do set current=%%~fsv
  30.     cd ..
  31.     if "%current%"=="%cd%" (
  32.         echo %cd%
  33.         echo This is final station.
  34.         pause
  35.         exit
  36.     )
  37.     set mark=0
  38.     set "F1="
  39.     for /f "tokens=*" %%a in ('dir /ad /b') do (
  40.         if !mark!==1 (
  41.             echo Next Station %%a
  42.             set F1=%%~fsa
  43.             goto :into
  44.         )
  45.         if "%current%" == "%%~fsa" (
  46.             set mark=1
  47.         )
  48.     )
  49.     if "%F1%"=="" (
  50.         goto :pre_next
  51.     )
复制代码
测试情况,用Dev-cpp目录设置了共享,映射到X: 驱动器
然后把脚本放到X: 执行,输出结果对比Tree结果:
  1. X:\                                               X:.
  2. X:\bin                                            ├─bin
  3. X:\Examples                                       ├─Examples
  4. X:\Examples\FileEditor                            │  ├─FileEditor
  5. X:\Examples\Hello                                 │  ├─Hello
  6. X:\Examples\Jackpot                               │  ├─Jackpot
  7. X:\Examples\MDIApp                                │  ├─MDIApp
  8. X:\Examples\OpenGL                                │  ├─OpenGL
  9. X:\Examples\Simpwin                               │  ├─Simpwin
  10. X:\Examples\WinAnim                               │  ├─WinAnim
  11. X:\Examples\WinMenu                               │  ├─WinMenu
  12. X:\Examples\WinTest                               │  └─WinTest
  13. X:\Help                                           ├─Help
  14. X:\Icons                                          ├─Icons
  15. X:\include                                        ├─include
  16. X:\include\c++                                    │  ├─c++
  17. X:\include\c++\3.4.2                              │  │  └─3.4.2
  18. X:\include\c++\3.4.2\backward                     │  │      ├─backward
  19. X:\include\C__~1\342E8D~1.2\bits                  │  │      ├─bits
  20. X:\include\C__~1\342E8D~1.2\debug                 │  │      ├─debug
  21. X:\include\C__~1\342E8D~1.2\ext                   │  │      ├─ext
  22. X:\include\C__~1\342E8D~1.2\mingw32               │  │      └─mingw32
  23. X:\include\C__~1\342E8D~1.2\mingw32\bits          │  │          └─bits
  24. X:\include\ddk                                    │  ├─ddk
  25. X:\include\GL                                     │  ├─GL
  26. X:\include\sys                                    │  └─sys
  27. X:\Lang                                           ├─Lang
  28. X:\lib                                            ├─lib
  29. X:\lib\debug                                      │  ├─debug
  30. X:\lib\gcc                                        │  └─gcc
  31. X:\lib\gcc\mingw32                                │      └─mingw32
  32. X:\lib\gcc\mingw32\3.4.2                          │          └─3.4.2
  33. X:\lib\gcc\mingw32\3.4.2\include                  │              └─include
  34. X:\libexec                                        ├─libexec
  35. X:\libexec\gcc                                    │  └─gcc
  36. X:\libexec\gcc\mingw32                            │      └─mingw32
  37. X:\libexec\gcc\mingw32\3.4.2                      │          └─3.4.2
  38. X:\mingw32                                        ├─mingw32
  39. X:\mingw32\bin                                    │  ├─bin
  40. X:\mingw32\lib                                    │  └─lib
  41. X:\mingw32\lib\ldscripts                          │      └─ldscripts
  42. X:\Packages                                       ├─Packages
  43. X:\TEMPLA~1                                       └─Templates
复制代码

作者: tonymac    时间: 2013-7-31 14:50

窜得我都无法关掉
作者: nbleon    时间: 2013-9-11 12:29

挺好玩的批处理!收藏!
作者: 林小七    时间: 2013-9-11 17:54

点开后到处乱跳~~结果最后自己关闭了~好像是跳到缓存目录了~~最后说路径无效~我就在也找不到了~~.




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2