Board logo

标题: [文件操作] 根据列出的文件与文件夹对应的关系将文件移动到相应文件夹 [打印本页]

作者: tangwei94054    时间: 2020-3-18 09:54     标题: 根据列出的文件与文件夹对应的关系将文件移动到相应文件夹

有一个文件夹,含子文件夹,包含了所有文件,文件名以10001,10002........11000 几千个文件,现在想将这些文件归档手上有一份文件清单,前面是文件名,不带扩展名,后面是想移动到对应的文件夹名称
10001     A
10002     B
10003     C
10004     A
10005     C
10006     C
10007     A
10008     C
10009     C
.
.
希望批处理能以A,B,C.....创建文件夹,将对应的文件移动到相应文件夹里面。
请老师指教如何操作,谢谢
作者: wujunkai    时间: 2020-3-18 10:07

回复 1# tangwei94054


    能tree一下,把文件夹结构发一下吗,不是很懂文件的位置。
作者: tangwei94054    时间: 2020-3-18 10:19

回复 2# wujunkai


    文件的位置可以指定吗?比如  D:\资料图片\ 。。。。。资料图片这个文件夹下面有子文件夹,里面包含了需要移动的文件,当然如果没有找到的话。可以反馈一个没有找到的清单就更好了。老师
作者: tangwei94054    时间: 2020-3-18 11:02

回复 2# wujunkai
作者: wujunkai    时间: 2020-3-18 11:27

本帖最后由 wujunkai 于 2020-3-18 12:10 编辑

回复 3# tangwei94054
  1. @echo off
  2. @setlocal enabledelayedexpansion
  3. :main
  4. rem set file=info.txt
  5. set /P file=配置文件:
  6. for /F "tokens=1,2" %%i in (%file%) do (
  7. if not exist %%j md %%j
  8. for /R %%a in (%%i.*) do move %%a %%j\%%~nxa
  9. )
  10. pause
  11. goto:eof
复制代码
试试?
建议把文件先备份,出现意外概不负责
作者: tangwei94054    时间: 2020-3-18 13:59

回复 5# wujunkai


    好像不得行。老师。是怎么回事啊?
作者: wujunkai    时间: 2020-3-18 15:55

回复 6# tangwei94054


    放在源文件夹同一目录下。
    我这边测试是可以了,不知道你为什么不行;
  1. @echo off
  2. @setlocal enabledelayedexpansion
  3. :main
  4. rem set file=info.txt
  5. set /P file=配置文件:
  6. for /F "tokens=1,2" %%i in (%file%) do (
  7. if not exist %%j md %%j
  8. for /R %%a in (%%i.*) do echo move %%a %%j\%%~nxa
  9. )
  10. pause
  11. goto:eof
复制代码
把这个的运行效果贴上来看看




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