Board logo

标题: [文件操作] 批处理怎样对比一个文件,将另一个文件内的文件放入指定文件夹? [打印本页]

作者: BillGates    时间: 2011-8-17 15:01     标题: 批处理怎样对比一个文件,将另一个文件内的文件放入指定文件夹?

我有一个文件夹,名字叫做数学,在这个文件夹内,有若干个子文件夹,必修一,必修二……
前几天,我用了格式工厂转码,但是视频全部输出到一个文件夹内了,想要重新按照原来的样子归类,手动麻烦,可是批处理的话,又不会写,请教各位高手怎么写。

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

不知道标题合不合适,但是实在想不出怎么写标题呀。这种情况。
作者: hanyeguxing    时间: 2011-8-17 15:37

你的意思是不是参照 E:\学习\数学 的文件夹结构修改 D:\My Documents\FFOutput 的文件夹结构(对应的文件名是相同的,但扩展名不同)?
作者: BillGates    时间: 2011-8-17 16:00

本帖最后由 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文件夹下,名字是和原来对应的文件夹内的文件一样的)

感谢版主回复呀~~
作者: BillGates    时间: 2011-8-17 16:05

急用呀~,就要开学了,从网上下了点视频要放到手机中,一个个放到对应文件夹有点麻烦~
作者: hanyeguxing    时间: 2011-8-17 16:31

本帖最后由 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
复制代码

作者: BillGates    时间: 2011-8-18 20:46

达不到预期效果,不过还是辛苦孤星老师了。
可能是我描述不清楚吧,我在描述一下。
我有一个文件夹
假设它在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文件夹,并且,将和原来名字一样的视频文件放入新的对应位置。

解释得不知道透彻不,请大家指点。
作者: BillGates    时间: 2011-8-19 21:58

求救中……等待回复




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