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

[文件操作] 如何根据文件名中的前缀/指定字符串将文件移动到以该前缀/指定字符串命名的文件夹里

本帖最后由 pcl_test 于 2016-12-30 21:14 编辑

哪位大神可以帮忙做一个BAT
我这里每天会生成很多照片(jpeg),但前缀都不一样,可以识别:如 123_1.jpeg , 234_1.jpeg , 345_1.jpeg 等等。
现在我需要批量处理他们,将不同前缀的图片,放入相对应的文件夹内。
需要有的功能:
1、自动识别文件夹并复制进去
2、有重名的文件要有提示功能,我会手动选择是否要覆盖
3、没有相对应文件夹的图片,可以根据前缀来自动建立文件夹。

现在我这里有两组代码,但不懂得怎么组合在一起。而且第二条功能也无法达到。
  1. @echo off
  2. for /f %%i in ('dir /b %cd%\*.jpg') do (
  3. for /f "delims=- tokens=1" %%j in ('echo,%%i') do (
  4. copy %cd%\%%i %cd%\%%j\
  5. del /f /q %cd%\%%i
  6. attrib
  7. copy /y
  8. )
  9. )
复制代码
↑ 这段满足第一个要求
  1. @echo off
  2. for /f"tokens=1*delims=-"%%i in ('dir/b/a-d*-*|findstr/iv"%~0"')do(
  3. echo %%i-%%j
  4. if not exist"%%i\"md"%%i"
  5. move"%%i-%%j" "%%i\")
  6. pause
复制代码
↑ 这段满足第三个要求


拜托各位大神了!在线等!
1

评分人数

    • pcl_test: 1勿发笼统的标题2发帖前先使用论坛搜索PB -2

  1. @echo off
  2. for /f "delims=_- tokens=1" %%i in ('dir /b *.jp*g') do (
  3. md %%i>nul 2>nul
  4. move /-y %%i*.jp*g %%i\
  5. )
  6. pause
复制代码
和图片保存在一起 注意你图片名的分隔符  _ 和 -,如有其它需自加
目的,学习批处理

TOP

回复 2# hlzj88
大神,如果我有很多的图片的话,如何实现有线处理未重复的图片,然后再处理重复名称的图片呢?
因为我发现,您给我的BAT中,是按名次分类,然后按一个文件夹一个一个图片确认、再确认下一个文件夹。
所以能否先处理未重复的图片,再处理重复的图片。

TOP

本帖最后由 Nsqs 于 2017-1-2 22:28 编辑
  1. @echo off
  2. set "a文件夹=A" %要复制的目标目录%
  3. set "b文件夹=B" %B路径%
  4. for %%1 in (%b文件夹%\*.jpeg)do set #_%%~nx1=%%1
  5. for %%1 in (%a文件夹%\*.jpeg)do (
  6.     if defined #_%%~nx1 (
  7.     set #_#%%1=%%1
  8.     )else (
  9.         echo d|xcopy /y "%%1" "%b文件夹%"      
  10.     )
  11. )
  12. (for /f "tokens=2 delims==" %%1 in ('set #_#')do copy /-y "%%1" "%b文件夹%") 2>nul
复制代码

TOP

  1. @echo off
  2. rem 第一步确认重复并移动
  3. md 重复>nul
  4. for /f %%i in ('dir /b/s d:\图片\*.jp*g') do (
  5. move "%%i" 重复\
  6. )
  7. rem 不重复的建文件夹并移动
  8. for /f "delims=_- tokens=1" %%i in ('dir /b *.jp*g') do (
  9. md d:\图片\%%i>nul 2>nul
  10. move /y %%i*.jp*g d:\图片\%%i\
  11. )
  12. pause
复制代码
时间关系未测试,和图片放一起,假设的路径自己修改
目的,学习批处理

TOP

返回列表