[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. cd /d "%~dp0"
  4. set f="关键字1" "关键字2" "关键字3"
  5. for /d %%d in (*) do (
  6. for %%a in (%f%) do (
  7. if exist "%%d\%%~a*.*" (
  8. md "%%d\%%~a"
  9. move "%%d\%%~a*.*" "%%d\%%~a\"
  10. )
  11. )
  12. )
  13. pause
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

回复 5# zhengzhenhui


  
  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. rem n大于等于2
  4. set n=3
  5. set f="关键字1" "关键字2" "关键字3"
  6. for /l %%l in (2,1,%n%) do (
  7. call set str=%%str%%\\.*
  8. )
  9. for /f "delims=" %%a in ('forfiles /s /c "cmd /c if @isdir==TRUE echo @relpath" ^|findstr /rc:"%str%" ^|findstr /rvc:"%str%\\.*" ') do (
  10. for %%x in (%f%) do (
  11. if exist "%%~a\%%~x*.*" (
  12. md "%%~a\%%~x"
  13. move "%%~a\%%~x*.*" "%%~a\%%~x\"
  14. )
  15. )
  16. )
  17. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 10# zhengzhenhui


   自己试一下,不行就加减1。
2楼代码第5行改为:

  1. for /f "delims=" %%d in ('dir /b /s /ad') do (
复制代码
bat小白,请多指教!谢谢!

TOP

回复 12# zhengzhenhui


   代码不要混用。对比执行前和执行后,代码有什么问题吗?
bat小白,请多指教!谢谢!

TOP

回复 14# zhengzhenhui


   
代码执行前 已经存在对应的文件夹,才会发生这种情况。
bat小白,请多指教!谢谢!

TOP

回复 16# zhengzhenhui


  
【你好1】-文件和【你好】-文件夹   都是在一层的
【你好1】 已经存在对应的【你好】文件夹了,所以出现这种情况。
bat小白,请多指教!谢谢!

TOP

回复 19# zhengzhenhui


   
如果既存在 关键字【你好】,又存在【你好-欢迎】,把后者放到前面
  1. set f="你好-欢迎" "你好"
复制代码
bat小白,请多指教!谢谢!

TOP

回复 21# zhengzhenhui


  
  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. cd /d "%~dp0"
  4. set f="关键字1" "关键字2" "关键字3"
  5. for /f "delims=" %%d in ('dir /b /s /ad') do (
  6. for %%a in (%f%) do (
  7. if exist "%%d\*%%~a*.*" (
  8. md "%%d\%%~a"
  9. move "%%d\*%%~a*.*" "%%d\%%~a\"
  10. )
  11. )
  12. )
  13. pause
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

返回列表