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

[文本处理] 批处理在文本中提取固定位置的内容,并移动图片

[复制链接]
发表于 2021-5-16 02:32:07 | 显示全部楼层 |阅读模式
先谢谢您了。
现有文本1.txt,内容如下
  1. [#オリジナル VISIONS - 米山舞的插画 - pixiv|https://www.111.net/artworks/84603466]
  2. [#オリジナル EGO  Id - 米山舞的插画 - pixiv|https://www.111.net/artworks/89828644]
  3. [#オリジナル EGO  Es - 米山舞的插画 - pixiv|https://www.111.net/artworks/89828461]
  4. [#オリジナル EGO  SEA - 米山舞的插画 - pixiv|https://www.111.net/artworks/89828769]
  5. [#オリジナル EGO  MELT - 米山舞的插画 - pixiv|https://www.111.net/artworks/89828749]
  6. [#オリジナル silk moth - 米山舞的插画 - pixiv|https://www.111.net/artworks/79342948]
  7. 米山舞
  8. 女孩
  9. 时尚
  10. 插画师
  11. [#ラブライブ ドヤんみちゃん - みさいる的插画 - pixiv|https://www.111.net/artworks/51222454]
  12. [#バーチャルYouTuber シオンちゃん - SONOJI的插画 - pixiv|https://www.111.net/artworks/85735530]
  13. [#Fate/GrandOrder ドヤ顔メガネアビィ~ - 相川りょう的插画 - pixiv|https://www.111.net/artworks/77077689]
  14. [#舰これ 阴阳师北上様 - HIBIKI的插画 - pixiv|https://www.111.net/artworks/77636099]
  15. [#オリジナル じゃんけんの时に『グチョパ』を出して胜とうとするサブカル少女 - tetto的插画 - pixiv|https://www.111.net/artworks/82204177]
  16. [#创作 ぷぷぷ - みなみさき的插画 - pixiv|https://www.111.net/artworks/76150534]
  17. 得意脸
  18. 女孩
  19. [#オリジナル 水游び - 蝉时雨的插画 - pixiv|https://www.111.net/artworks/70235550]
  20. [#初音ミク 初音みく生诞2020 - オギモトズキン的插画 - pixiv|https://www.111.net/artworks/84463351]
  21. [#ラブライブサンシャイン サンシャイン - ギノピー@FANBOX开始的插画 - pixiv|https://www.111.net/artworks/57978750]
  22. [#ラブライブサンシャイン 水着ちかっち - ハヤオキ的插画 - pixiv|https://www.111.net/artworks/82687757]
  23. [#碧蓝航线 碧蓝航线 - 木子翔的插画 - pixiv|https://www.111.net/artworks/68989001]
  24. [#女の子 练习 - 砂糖の音的插画 - pixiv|https://www.111.net/artworks/71468662]
  25. 水枪
  26. 水手服
  27. 泳装
  28. 女孩
  29. [#ラブライブ umi - miazi的插画 - pixiv|https://www.111.net/artworks/54600964]
  30. [#ラブライブ あ~ん - 柊ぽぷら的插画 - pixiv|https://www.111.net/artworks/ ]
  31. [#ラブライブ10周年 ラブライブ10周年 - とうち的插画 - pixiv|https://www.111.net/artworks/82046781]
  32. [#ラブライブ 海未诞 - 岩奈ケイトお仕事受付中的插画 - pixiv|https://www.111.net/artworks/67767947]
  33. [#ラブライブ 濡れるッとか言いそうな海未ちゃん - へいろー的插画 - pixiv|https://www.111.net/artworks/40945525]
  34. [#园田海未 Umi - 瑛的插画 - pixiv|https://www.111.net/artworks/52161015]
  35. 园田海未
  36. Love Live
复制代码
并且,桌面上还有很多图片,图片名是1.txt中每行最后的数字,比如84603466.jpg  、 40945525.jpg  、 52161015.jpg ……

=======需求如下:====
将每组 [# 中的第2行内容最后的数字,它所对应的图片找出来。并全部移动到文件夹 123 中。
比如上述内容中,每组有6行 [# 内容,每组的第2行[#,分别就是89828644  85735530 84463351 48190400
把这4个数字对应的 .jpg 图片,全都移动到桌面的文件夹123中。

*数字对应的图片也在桌面上。

谢谢您!
发表于 2021-5-16 23:45:14 | 显示全部楼层
本帖最后由 WHY 于 2021-5-16 23:58 编辑

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. md 123 2>nul
  4. for /f "tokens=*" %%i in (1.txt) do (
  5.     set "s=%%i"
  6.     if "!s:~0,2!" == "[#" (
  7.         set /a n+=1
  8.         if "!n!" == "2" (
  9.             set "file=%%~ni"
  10.             move "!file:]=!.jpg" "123"
  11.         )
  12.     ) else (
  13.         set n=0
  14.     )
  15. )
  16. pause
复制代码
发表于 2021-5-16 23:50:22 | 显示全部楼层
第4组的第2行后面有图片名吗?
 楼主| 发表于 2021-5-17 15:09:08 | 显示全部楼层
回复 3# WHY


    不好意思,有的,我编辑帖子时,复制名字时,不小心删掉了。 都有的。
 楼主| 发表于 2021-5-17 15:22:37 | 显示全部楼层
回复 3# WHY


    请问,如果不是从桌面上的图片中找,而是从  C:\Users\Administrator\Desktop\small\  中找匹配的图片,再移动到文件夹123,该如何更改上面的代码呢?谢谢你呀~
发表于 2021-5-17 16:37:21 | 显示全部楼层
回复 5# 灯塔彭于晏
只要文本文件、批处理、图片在同一目录就可以。
 楼主| 发表于 2021-5-17 18:35:59 | 显示全部楼层
回复 6# qixiaobin0715


    啊~谢谢。
只是现在想进阶一下,因为图片现在在左面,太多了。想整理到文件夹里,然后再提取到123里,这样操作的过程桌面起码是简洁的。
就是优化,优化一下,哈哈!
发表于 2021-5-17 21:51:15 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-5-18 06:57 编辑

回复 7# 灯塔彭于晏
将下列代码加在2楼代码1~2行之间,文本文件、批处理文件放在small文件夹下试试:
  1. move C:\Users\Administrator\Desktop\*.jpg C:\Users\Administrator\Desktop\small
  2. cd /d "C:\Users\Administrator\Desktop\small"
复制代码
已修改
 楼主| 发表于 2021-5-17 23:43:44 | 显示全部楼层
回复 8# qixiaobin0715


    好像不行,会有cmd窗口提示移动1个文件
但123里面是空的
发表于 2021-5-18 00:10:43 | 显示全部楼层
回复 5# 灯塔彭于晏
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "C:\Users\Administrator\Desktop\small"
  4. set "DstFolder=C:\Users\Administrator\Desktop\123"
  5. if not exist "%DstFolder%" (
  6.     md "%DstFolder%"
  7. )
  8. for /f "tokens=*" %%i in (1.txt) do (
  9.     set "s=%%i"
  10.     if "!s:~0,2!" == "[#" (
  11.         set /a n+=1
  12.         if "!n!" == "2" (
  13.             set "file=%%~ni"
  14.             move "!file:]=!.jpg" "%DstFolder%"
  15.         )
  16.     ) else (
  17.         set n=0
  18.     )
  19. )
复制代码

评分

参与人数 1技术 +1 收起 理由
灯塔彭于晏 + 1 肯定可以了,虽然没文件可供测试。明天试试 ...

查看全部评分

发表于 2021-5-18 10:36:52 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-5-18 10:57 编辑

回复 9# 灯塔彭于晏
可能是你的桌面路径有问题。
利用2楼代码前面加上移动桌面图片文件的命令,测试没问题,完整代码为:
  1. @echo off
  2. move "%HOMEPATH%\Desktop\*.jpg" "%~dp0"
  3. setlocal enabledelayedexpansion
  4. md 123 2>nul
  5. for /f "tokens=*" %%i in (1.txt) do (
  6.     set "s=%%i"
  7.     if "!s:~0,2!" == "[#" (
  8.         set /a n+=1
  9.         if "!n!" == "2" (
  10.             set "file=%%~ni"
  11.             move "!file:]=!.jpg" "123"
  12.         )
  13.     ) else (
  14.         set n=0
  15.     )
  16. )
  17. pause
复制代码
批处理文件test.bat和文本文件1.txt放在small文件夹中,运行test.bat。

评分

参与人数 1技术 +1 收起 理由
灯塔彭于晏 + 1 谢谢~

查看全部评分

发表于 2021-5-18 10:56:13 | 显示全部楼层
回复 9# 灯塔彭于晏
楼上代码已重新修改
 楼主| 发表于 2021-5-18 16:55:16 | 显示全部楼层
回复 12# qixiaobin0715


    额外咨询个小问题可以吗?
如果文件夹small里有不知道多少个子文件夹(不是特别多,十来个,具体不知道。)但每个文件夹里都是图片。
如何全部提取到 桌面的 文件夹 234 中呢? 并且重复的话会强行覆盖。
发表于 2021-5-18 17:07:27 | 显示全部楼层
是move还是copy?重复要覆盖吗?
发表于 2021-5-18 17:11:51 | 显示全部楼层
是这样吗?
  1. @echo off
  2. for /r %%a in (*.jpg) do copy "%%a" "%HOMEPATH%\Desktop\234"
  3. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
灯塔彭于晏 + 1 谢谢谢谢~哈哈~

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 17:38 , Processed in 0.032479 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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