Board logo

标题: [文件操作] [已解决]BAT如何批量拷贝并合并有规律文件夹中子文件夹内容? [打印本页]

作者: m_anio    时间: 2012-11-3 11:01     标题: [已解决]BAT如何批量拷贝并合并有规律文件夹中子文件夹内容?

本帖最后由 m_anio 于 2012-11-12 16:35 编辑

我有一系列不同名字的文件夹(如:01xx、02xx...100xx),每个文件夹里有相同名字的4个子文件夹"1-填色图","2-照片","3-附件","4-图片库",我想批量将子文件夹"1-填色图","2-照片"内容拷贝到一个新文件夹根目录下,并将新文件夹并命名为相应的上级文件夹名称,新文件夹中无子文件夹,被拷贝文件夹维持原状不变。(即仅将01xx下的"1-填色图","2-照片"中内容分别复制到新文件夹01xx根目录下,新文件夹01xx中无子文件夹,原始01xx文件夹保持原状)。由于文件夹名称相同,此思路新文件夹路径需要另选择,不能与原路径相同。

解释一下我的想法:起因是我要留着原始文件,再整理一套精简文件。原想法是将所有文件夹01xx、02xx...100xx在其他路径拷贝一遍,用语句合并每个文件夹中的子文件夹“1-填色图","2-照片"内容,再删除其余不用文件夹。但经过一段时间的资料收集,我发现"3-附件","4-图片库"中的文件所占字符非常之大,以至于我的硬盘不允许统一复制再删除的工作。因此,我改变了思路,想求得直接复制并合并“1-填色图","2-照片"内容的想法。

还请高手帮助,十分感谢。
作者: stance    时间: 2012-11-3 17:51

回复 1# m_anio

这个要求在逻辑上是错误的。因为上级文件夹不同名,你想要哪个上级文件夹的名字?
“我想批量将子文件夹"1-填色图","2-照片"内容拷贝到一个新文件夹根目录下,并将新文件夹并命名为相应的上级文件夹名称”
作者: m_anio    时间: 2012-11-3 17:51

上级文件夹 我指的是 01xx、02xx...100xx 这个级别的
作者: stance    时间: 2012-11-3 17:58     标题: RE: 【求助】如何 批量 拷贝并合并有规律文件夹中子文件夹内容

本帖最后由 stance 于 2012-11-3 18:43 编辑

回复 3# m_anio

“每个文件夹里有相同名字的4个子文件夹"1-填色图","2-照片","3-附件","4-图片库",我想批量将子文件夹"1-填色图","2-照片"内容拷贝到一个新文件夹根目录下,并将新文件夹并命名为相应的上级文件夹名称”

你想用哪个上级文件夹做名字呢?01xx、02xx...还是100xx?

你的意思是不是指:把01xx、02xx...100xx文件夹下的"1-填色图","2-照片"里面的东西,在新的位置分别拷贝到各自的01xx、02xx...100xx上级文件夹名称下,不再设"1-填色图","2-照片"子目录?
作者: apang    时间: 2012-11-3 23:48

假设拷贝到D:\ABC文件夹下,不考虑文件名重名的情况:
  1. @echo off
  2. set "dst=D:\ABC"
  3. for /f "delims=" %%a in ('dir /ad/b/s "1-填色图" "2-照片"') do (
  4.   for %%b in ("%%a\..") do (
  5.     xcopy "%%a\*.*" "%dst%\%%~nxb\">nul
  6.   )
  7. )
复制代码

作者: m_anio    时间: 2012-11-5 19:28

4楼的高手 我是您分析的那个意思
作者: m_anio    时间: 2012-11-12 16:34

试过了 5楼是正解 谢谢高手帮助




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