[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 qixiaobin0715 于 2021-12-18 20:55 编辑

批处理也能干这事:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (2\*) do (
  4.     set /a x+=1
  5.     set #!x!=%%a
  6. )
  7. for /d %%b in (1\*) do set /a y+=1
  8. set /a n=y/x
  9. set /a m=y%%x
  10. if !m! neq 0 set /a n+=1
  11. for /d %%c in (1\*) do (
  12.     set /a k+=1
  13.     set /a l=(k-1^)/n+1
  14.     for %%d in (#!l!) do (
  15.         if not exist "!%%d!\%%~nxc" (
  16.             md "!%%d!\%%~nxc"
  17.             xcopy "%%c\*.*" "!%%d!\%%~nxc\" /s>nul
  18.         )
  19.     )
  20. )
  21. pause
复制代码
1

评分人数

    • 5i365: CMD实现方式,牛技术 + 1

TOP

回复 7# 5i365
嘿嘿,ps学习中,水平不够。

TOP

回复 8# 5i365
代码加个判断,已修改。

TOP

我觉得是与文件名无关,应当是文件计数的问题,变量x、n为零会出现这种错误。抽空我再修改一下。

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (2\*) do (
  4.     set /a x+=1
  5.     set #!x!=%%a
  6. )
  7. for /d %%b in (1\*) do (
  8.     set /a y+=1
  9.     set -!random!-!y!=%%b
  10. )
  11. set /a n=y/x
  12. set /a m=y%%x
  13. if !m! neq 0 set /a n+=1
  14. for /f "tokens=2 delims==" %%c in ('set -') do (
  15.     set /a k+=1
  16.     set /a l=(k-1^)/n+1
  17.     for %%d in (#!l!) do (
  18.         if not exist "!%%d!\%%~nxc" (
  19.             md "!%%d!\%%~nxc"
  20.             xcopy "%%c\*.*" "!%%d!\%%~nxc\" /s>nul
  21.         )
  22.     )
  23. )
  24. pause
复制代码

TOP

返回列表