[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
批处理文件保存为ANSI编码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  4.     set /a n+=1
  5.     copy "%%i" "新建文件夹(!n!)\">nul 2>nul
  6. )
  7. pause
复制代码

TOP

回复 3# wqj
是你没有描述清楚,我以为文件夹你已经提前创建好了呢。看看4楼代码吧。

TOP

如果像你所举例子那样文件夹名序号后面都添加4个任意小写字母的话,自己测试一下:
  1. @echo off
  2. set Letters=a b c d e f g h i j k l m n o p q r s t u v w x y z
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  5.     set /a n+=1
  6.     setlocal enabledelayedexpansion
  7.     for /l %%a in (1,1,4) do (
  8.         for %%b in (%Letters%) do (
  9.             set /a m+=1
  10.             set _!random!-!m!=%%b
  11.         )
  12.         for /f "skip=25 tokens=2 delims==" %%c in ('set _') do (
  13.             set str=!str!%%c
  14.         )
  15.     )
  16.     md "新建文件夹(!n!)!str!\" 2>nul
  17.     copy "%%i" "新建文件夹(!n!)!str!\">nul 2>nul
  18.     endlocal
  19. )
  20. pause
复制代码

TOP

回复 12# wqj
01--99是可以使用较为简化的代码处理的。
实际上就是把数字都统一变成相同个数,处理起来就要简单多了。

TOP

本帖最后由 qixiaobin0715 于 2024-1-4 10:56 编辑

回复 8# wqj
针对8楼的情况,这样试试看:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  4.     set /a n+=1
  5.     for /f "delims=" %%j in ('dir /b /ad "新建文件夹(!n!)*"') do (
  6.         copy "%%i" "%%j\">nul 2>nul
  7.     )
  8. )
  9. pause
复制代码

TOP

本帖最后由 qixiaobin0715 于 2024-1-4 10:57 编辑

15楼的情况,这样试试
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. dir /b /a-d *.jpg>temp
  4. (for /f "delims=" %%i in ('dir /b /ad') do (
  5.     set /p str=
  6.     copy "!str!" "%%i">nul 2>nul
  7. ))<temp
  8. del temp
  9. pause
复制代码

TOP

回复 17# wqj
你可以把测试文件发到网盘上,我帮你测试一下,看看是哪里的问题

TOP

返回列表