Board logo

标题: [文件操作] 批处理如何根据文件名的最后一个字符将文件移动到不同文件夹? [打印本页]

作者: 001011    时间: 2014-9-18 23:14     标题: 批处理如何根据文件名的最后一个字符将文件移动到不同文件夹?

本帖最后由 pcl_test 于 2016-12-25 13:50 编辑

根据文件名尾部的字母分文件夹
找到尾部为D的文件分文件夹
比如此图中的
10001A-10028  生成001文件夹  并剪切到001里面
10029D-10036  生成002文件夹  并剪切到002里面
10037D-10049  生成003文件夹  并剪切到003里面
10050D-10060  生成004文件夹  并剪切到004里面
10061D-10076  生成005文件夹  并剪切到005里面
10077D-10093  生成006文件夹  并剪切到006里面
10094D-10111  生成007文件夹  并剪切到007里面
并找到尾部位B和C的文件复制到A的文件夹里面
比如此图中的
10004B-10025C 生成A文件夹  并复制(是复制不是剪切)到A里面
这样文件夹有很多  需要一次性批处理
非常感谢

由于 我上传的图片太大  所以发到网盘
http://pan.baidu.com/s/1qWobkks
作者: DAIC    时间: 2014-9-18 23:18

请给几个具体的例子
作者: 001011    时间: 2014-9-18 23:44

回复 2# DAIC

图片太大  我发到网盘了  麻烦您查看一下
作者: CrLf    时间: 2014-9-19 00:09

看不懂这有什么规律
作者: 001011    时间: 2014-9-19 00:13

回复 4# CrLf
找到尾部为D的  就和前一个D之后的  分文件夹啊
作者: 001011    时间: 2014-9-19 00:18

回复 4# CrLf
作者: 522235677    时间: 2014-9-19 13:23

不明白1111111
作者: terse    时间: 2014-9-19 15:10

本帖最后由 terse 于 2014-9-19 15:39 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=1001
  3. set f=!n:~-3!
  4. for /f "delims=" %%i in ('dir /b /a-d /on *.jpg') do (
  5.     set str=%%~ni
  6.     if /i "!str:~-1!" == "D" (
  7.        set /a n+=1
  8.        set f=!n:~-3!
  9.     ) else if /i "!str:~-1!" == "B" set f=A
  10.     md "!f!" 2>nul
  11.     if !f! == A (copy "%%i" "!f!") else move "%%i" "!f!"
  12.     if /i "!str:~-1!" == "C" set f=!n:~-3!
  13. )
  14. pause
复制代码

作者: 001011    时间: 2014-9-19 20:37

本帖最后由 001011 于 2014-9-19 20:39 编辑

回复 8# terse

非常感谢  非常好用  就是复制后  B-C  丢在外面了  没有剪切到001里面去
再就是  能否加个路径呀  那样就可以一次性处理N个文件夹了
再次感谢
作者: terse    时间: 2014-9-19 21:14

回复 9# 001011
你顶楼的要求不是 ”10004B-10025C 生成A文件夹  并复制(是复制不是剪切)到A里面“ 吗?
剪切的话 11行改为   move "%%i" "!f!"
路径在DIR 哪里加试下
作者: 001011    时间: 2014-9-19 23:51

回复 10# terse
我是说  全部按要求复制完成后  001里面的文件是完整的  而你写的代码 001里面没有B到C  而是放到了外面
作者: terse    时间: 2014-9-20 00:00

回复 11# 001011

11行  if !f! == A (copy "%%i" "!f!") else move "%%i" "!f!" 改为 下面试下
  1. if !f! == A ( copy "%%i" "!f!"&move "%%i" "001") else move "%%i" "!f!"
复制代码

作者: 001011    时间: 2014-9-20 01:26

非常感谢   目的达到了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2