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

[文件操作] 批处理怎样对比一个文件,将另一个文件内的文件放入指定文件夹?

[复制链接]
发表于 2011-8-17 15:01:30 | 显示全部楼层 |阅读模式
我有一个文件夹,名字叫做数学,在这个文件夹内,有若干个子文件夹,必修一,必修二……
前几天,我用了格式工厂转码,但是视频全部输出到一个文件夹内了,想要重新按照原来的样子归类,手动麻烦,可是批处理的话,又不会写,请教各位高手怎么写。

原来的文件夹 E:\学习\数学\   里面有必修一、必修二…………,格式工厂输出的是 D:\My Documents\FFOutput\  并且文件的命名是没有改变的。和原来的是一样的
要达到的效果就是根据原来文件夹内的文件存放路径,然后在D:\My Documents\FFOutput下创建新路径 如 D:\My Documents\FFOutput\数学\,里面的自文件夹和原来的文件夹内的子文件夹一样,并且,新子文件夹内的文件也和原来子文件夹的一样。

不知道标题合不合适,但是实在想不出怎么写标题呀。这种情况。
发表于 2011-8-17 15:37:50 | 显示全部楼层
你的意思是不是参照 E:\学习\数学 的文件夹结构修改 D:\My Documents\FFOutput 的文件夹结构(对应的文件名是相同的,但扩展名不同)?
 楼主| 发表于 2011-8-17 16:00:50 | 显示全部楼层
本帖最后由 BillGates 于 2011-8-17 16:02 编辑

回复 2# hanyeguxing
是的,就像我原来的文件夹是 E:\数学 里面有若干个子文件夹,命名是必修一,必修二……子文件夹里有视频文件。我要实现的效果就是,D:\FFOutput 文件夹,按照原来的E:\数学 建立文件夹, 为D:\FFOutput\数学  这里面的子文件夹和E盘的那个是一样的,并且将D:\FFOutput 文件夹中的视频文件,按照E:\数学 里的子文件夹内的文件归类。 比如我 E:\数学\必修1\1.wmv  那么D:\FFOutput\数学\必修一\1.wmv(转码后的,文件在D:\FFOutput文件夹下)以此类推,E:\数学\必修2\5.wmv   D:\FFOutput\数学\必修2\5.wmv(转码后的,文件在D:\FFOutput文件夹下,名字是和原来对应的文件夹内的文件一样的)

感谢版主回复呀~~
 楼主| 发表于 2011-8-17 16:05:50 | 显示全部楼层
急用呀~,就要开学了,从网上下了点视频要放到手机中,一个个放到对应文件夹有点麻烦~
发表于 2011-8-17 16:31:17 | 显示全部楼层
本帖最后由 hanyeguxing 于 2011-8-17 16:39 编辑

1,路径最后必须为\
2,如果原来的视频扩展名都一样,例如wmv,则可以将 dir /s/b/a-d "%a%" 改成 dir /s/b/a-d "%a%*.wmv"
3,如果转换后的视频扩展名都一样,例如3gp,则可以将 "%b%%%~na.*" 改成 "%b%%%~na.3gp"
4,代码未测试
  1. @echo off&setlocal enabledelayedexpansion
  2. set "a=E:\学习\数学"
  3. set "b=D:\My Documents\FFOutput"
  4. set "c=数学"
  5. for /l %%a in (0,1,8192) do if "!a:~%%a,1!"=="" (goto:a) else set/an+=1
  6. :a
  7. for /f "delims=" %%a in ('dir /s/b/a-d "%a%"') do for %%b in ("%b%%%~na.*") do (
  8.         set "d=%%~dpa"
  9.         md "%b%%c%!d:~%n%!" 2>nul
  10.         move "%%b" "%b%%c%!d:~%n%!"
  11. )
  12. pause
复制代码
 楼主| 发表于 2011-8-18 20:46:49 | 显示全部楼层
达不到预期效果,不过还是辛苦孤星老师了。
可能是我描述不清楚吧,我在描述一下。
我有一个文件夹
假设它在E盘,名字是1,在里面,存在1、2、3、4、5
1、2、3、4、5中存在视频若干,命名不同。

然后我将视频转码,假设文件夹在D盘,名字是2,在里面就是E:\1中的1、2、3、4、5的所有视频文件,名字和原来是一样的。

要求,将D:\2中的文件,按照E:\1中的1、2、3、4、5,也就是原来的样子,放到原来对应的文件,也就是说,需要在D:\2中,建立1、2、3、4、5文件夹,并且,将和原来名字一样的视频文件放入新的对应位置。

解释得不知道透彻不,请大家指点。
 楼主| 发表于 2011-8-19 21:58:37 | 显示全部楼层
求救中……等待回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 00:14 , Processed in 0.018024 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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