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

[文件操作] 根据列出的文件与文件夹对应的关系将文件移动到相应文件夹

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

回复 1# tangwei94054


    能tree一下,把文件夹结构发一下吗,不是很懂文件的位置。

TOP

回复 2# wujunkai


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

TOP

回复 2# wujunkai

TOP

本帖最后由 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
复制代码
试试?
建议把文件先备份,出现意外概不负责

TOP

回复 5# wujunkai


    好像不得行。老师。是怎么回事啊?

TOP

回复 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
复制代码
把这个的运行效果贴上来看看

TOP

返回列表