找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 1232|回复: 4

[系统相关] 求教如何编写满足复制粘贴

[复制链接]
发表于 2025-12-12 18:22:48 | 显示全部楼层 |阅读模式
本帖最后由 yhl87217 于 2025-12-12 18:24 编辑

新手小白求教一个问题:
F:\测试    目录下有两个文件夹 1-001、2-001,
1-001、2-001文件夹里是*.jpg文件。原文件夹文件不动,按条件复制至F:\成品

条件如图:




F:\测试\1-001    对应  F:\成品\1-001      到    1-006           
F:\测试\2-001    对应  F:\成品\2-001      到    1-008      

以此类推

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2025-12-12 21:37:05 | 显示全部楼层
条件.txt
  1. 1-001 3
  2. 1-002 4
  3. ...
  4. 2-001 5
  5. 2-002 11
  6. ...
复制代码


代码
  1. @echo off
  2. rem "保存为ansi编码"
  3. cd /d "%~dp0"
  4. set f1=f:\测试
  5. set f2=f:\成品
  6. set file=条件.txt
  7. setlocal enabledelayedexpansion
  8. for /f "tokens=1-2" %%a in ('find "-" ^< "%file%"') do (
  9.         if exist "%f1%\%%a" (
  10.                 pushd "%f1%\%%a"
  11.                 set n=0
  12.         )
  13.         md "%f2%\%%a"
  14.         for /f "tokens=1* delims=[]" %%c in ('dir /b /a-d *.jpg ^|more +!n! ^|find /n /v ""') do (
  15.                 if %%c leq %%b (
  16.                         copy "%%d" "%f2%\%%a"
  17.                 )
  18.         )
  19.         set /a n+=%%b
  20. )
  21. endlocal
  22. pause
复制代码
 楼主| 发表于 2025-12-12 21:47:12 | 显示全部楼层
回复 2# 77七


    系统找不到指定文件

是我路径问题吗
发表于 2025-12-12 23:02:14 | 显示全部楼层
回复 3# yhl87217


   把条件.txt 和批处理放同一个路径下;或者写明路径 set file=f:\条件.txt
发表于 2025-12-13 00:42:44 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-12-13 08:32 编辑

回复 1# yhl87217

以下代码存为 test.bat 运行,与两个数据文件 1-001.lst, 2-001.lst (文件名须与两个源子目录名分别对应)存于同一目录...

  1. @echo off &setlocal enabledelayedexpansion
  2. for %%d in ("1-001", "2-001") do (
  3.    set "n=1"
  4.    (for /f "tokens=1-2 delims= " %%a in (%%~d.lst) do (
  5.        set/a k=n+%%b-1
  6.        for /l %%i in (!n!,1,!k!) do set "f=000%%i" &echo,%%a,!f:~-4!.jpg
  7.        set/a "n=k+1" ))>#.$
  8.    for /f "tokens=1-2 delims=," %%x in (#.$) do xcopy /yi "f:\测试\%%~d\%%y" "f:\成品\%%x")
  9. del /q #.$ &pause&exit/b
复制代码
数据文件 1-001.lst 内容如下:

  1. 1-001 3
  2. 1-002 4
  3. 1-003 2
  4. 1-004 5
  5. 1-005 9
  6. 1-006 7
复制代码
数据文件 2-001.lst 内容如下:

  1. 2-001 5
  2. 2-002 11
  3. 2-003 1
  4. 2-004 6
  5. 2-005 7
  6. 2-006 5
  7. 2-007 2
  8. 2-008 3
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:05 , Processed in 0.017507 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表