[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. ::移动文件
  2. :: By seven
  3. ::    2013.8.30
  4. @echo off&&setlocal enabledelayedexpansion
  5. title Moves By:Seven
  6. if not exist 单号 md 单号 双号
  7. for %%a in (*.rar) do (
  8. set s=%%a
  9. set s=!s:~6,2!
  10. call :moves !s! %%a
  11. )
  12. @echo.移动完成.....
  13. pause&&exit
  14. :moves
  15. for %%d in (02 04 06 08 10 12 14 16 18 20 22 24 26 28 30) do (
  16. set now=%%d
  17. if %1 equ !now! move %2 双号&&goto :eof
  18. )
  19. move %2 单号
  20. goto :eof
复制代码
win7通过~~放到rar文件同一目录运行~~然后生成两个文件夹~~分别是单号双号~~文件已经分类到相应的文件夹里面~~
活着就是为了改变世界

TOP

回复 3# junxi0928

如果是移动文件夹位置的话当然可以了,简单修改下就行,至于win2003没有测试,我得电脑win7,
活着就是为了改变世界

TOP

回复 3# junxi0928


    你把单号双号修改下成你要存放的目录几好了~
如是d:\备份,你就可以改成这样
  1. @echo off&&setlocal enabledelayedexpansion
  2. title Moves By:Seven
  3. for %%a in (*.rar) do (
  4.          set s=%%a
  5.         set s=!s:~6,2!
  6.         call :moves !s! %%a
  7. )
  8. @echo.移动完成.....
  9. pause&&exit
  10. :moves
  11. for %%d in (02 04 06 08 10 12 14 16 18 20 22 24 26 28 30) do (
  12.         set now=%%d
  13.         if %1 equ !now! move %2 “D:\备份\双号”&&goto :eof
  14. )
  15. move %2 “D:\备份\单号”
  16. goto :eof
复制代码
活着就是为了改变世界

TOP

回复 9# junxi0928

行的通,等我晚上用电脑写一下,现在手头么电脑
活着就是为了改变世界

TOP

回复 9# junxi0928


    回复 9# junxi0928
  1. @echo off
  2. for /r %%a in (*.bat) do (
  3. if not %%~na equ %~n0 (
  4. @echo 启动 %%~na.bat....
  5. call "%%a"
  6. @echo %%~na.bat 运行完成...
  7. )
  8. )
  9. @echo.
  10. @echo.全部执行完成.任意键退出
  11. pause>nul
复制代码
放在你说的目录的统计目下~~就是比如你的一堆文件夹在“D:\备份”下~~则把这个p处理放在“D:\备份”的目录里面~~
javascript:;
效果图如下~~不知道是不是你想要的效果~~对了,目录里面可以有子目录~
活着就是为了改变世界

TOP

回复 13# junxi0928

等我晚上看看,我在学校的机房测试通过了,xp系统,可能是环境变量的问题,我测试的bat只是显示自己的位置,没有对文件进行操作,,,,
活着就是为了改变世界

TOP

回复 15# junxi0928


    都修改了~~两个文件~win7测试完美通过~~你试一试win2003~~
这是运行的主Bat..
  1. @echo off&&title MoveAlls
  2. for /r %%a in (*.bat) do (
  3.         if not %%~na equ %~n0 (
  4.          @cd /d "%%~pa"
  5.                         @echo 启动 %%~na.bat....
  6.                         call "%%a"
  7.                         @cd..
  8.                         @echo %%~na.bat 运行完成...
  9.         )
  10. )
  11. @echo.
  12. @echo.全部执行完成.任意键退出
  13. pause>nul
复制代码
这个是修改的移动西东文件的Bat
  1. ::移动文件
  2. ::                By seven
  3. ::                            2013.8.30
  4. @echo off&&setlocal enabledelayedexpansion
  5. title Moves By:Seven
  6. if not exist 单号 md 单号 双号
  7. for %%a in (*.rar) do (
  8.          set s=%%a
  9.         set s=!s:~6,2!
  10.         call :moves !s! %%a
  11. )
  12. @echo.移动完成.....
  13. pause&&goto :eof
  14. :moves
  15. for %%d in (02 04 06 08 10 12 14 16 18 20 22 24 26 28 30) do (
  16.         set now=%%d
  17.         if %1 equ !now! move %2 双号&&goto :eof
  18. )
  19. move %2 单号
  20. goto :eof
复制代码
效果如图~~这是运行后的文件夹结构~~已经移动了~
[attach]6739[/attach]
1

评分人数

活着就是为了改变世界

TOP

回复 16# junxi0928


    我也发现了~这是因为在移动的bat里面是直接的exit~而主bat是call *.bat~造成主bat退出~
楼上已经修改了这个Bug~如果用start也能运行~怕你文件太多,电脑卡机,所以两个bat文件都做了修改~目前win7已经完美通过~
活着就是为了改变世界

TOP

本帖最后由 林小七 于 2013-9-4 13:07 编辑

回复 19# junxi0928


    好的~...如果有问题继续追问,如果么问题了~还请采纳我的答案~并在帖子标题上注明以解决~谢谢
活着就是为了改变世界

TOP

返回列表