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

[文件操作] 批处理怎样把子目录的文件移动到当前目录并删掉子目录?

本帖最后由 zcdyj 于 2011-5-1 21:25 编辑

比如有一个1的文件夹 里边有一个2的文件夹 我想把用批处理把2的文件夹里的文件和文件夹移动到1的文件夹 并且不破坏文件夹结构
下面这个代码 会破坏文件夹结构
  1. @echo off
  2. attrib -s -h -r -a
  3. for /f "delims=" %%i in ('dir /a:-d/b/s') do ( move /y "%%i" "%cd%" )
  4. for /f "delims=" %%j in ('dir /a:d/b') do ( RD /s/q "%%j" )
  5. exit
复制代码
请问该如何修改使得可以把2文件夹里的文件和文件夹完整的移动到1的文件夹 并删除2文件夹?
TEST http://u.115.com/file/t28d6934d6
批处理后的效果 http://u.115.com/file/t2e35d35a3

1和2的文件夹是任意举例的 因为有很多都需要这样改 想弄个通用的代码
绝对路径每次都要改 有点繁琐  使用相对路径是最好的

以上的使用 liaobiaoxing 的代码成功了
echo d|xcopy /s /h /k .\2 .\ /ey
rd /s /q 2
再请教一个问题 如何指定一个文件夹 让该文件夹运行上面这段代码
例如我有一个123456的文件夹 里面有1文件夹 1文件夹里面有2文件夹  里面有3文件夹 3文件夹里面有4文件夹
也就是如何遍历123456的所有子文件夹 让所有的子文件夹实现上面的那个代码?
保留目录结构 我想实现的功能和上面一样 这次是对一个大文件夹下的所有子文件夹批量操作 使得子文件夹里的子文件里头的文件夹和文件移动到子文件夹里

TEST2 http://u.115.com/file/t21ef225df
批处理后的效果 http://u.115.com/file/t2f0e406b2
也就是在123456的文件夹中保持123456文件夹中的一级目录文件夹名的基础上把二级目录的东东移动到一级目录 并把二级目录的文件夹删除

先谢谢了 可还是不行 会破坏文件夹结构

TOP

7# liaobiaoxing


感谢你的回复 我说的1和2的文件夹是任意举例的 因为有很多都需要这样改 有没有比较通用的代码?

TOP

10# batman


谢谢版主 我运行了结果2文件夹直接被删掉了 能不能把2文件夹里的文件夹和文件先复制到1文件夹再删除自身?

TOP

9# liaobiaoxing


感谢liaobiaoxing的代码 我把路径改成相对路径后成功了

TOP

再请教一个问题 如何指定一个文件夹 让该文件夹运行上面这段代码
例如我有一个123456的文件夹 里面有1文件夹 1文件夹里面有2文件夹  里面有3文件夹 3文件夹里面有4文件夹
也就是如何遍历123456的所有子文件夹 让所有的子文件夹实现上面的那个代码?

TOP

15# powerbat


不是 保留目录结构 我想实现的功能和上面一样 这次是对一个大文件夹下的所有子文件夹批量操作 使得子文件夹里的子文件里头的文件夹和文件移动到子文件夹里

TOP

本帖最后由 zcdyj 于 2011-5-1 10:55 编辑

17# powerbat


感谢powerbat的代码 VBS的思路很不错 你的代码改成相对路径怎么不成功啊?
如果我有一个123456的大文件夹 里面有很多的需要处理的1文件夹(任意名称的), 这样的VBS怎样修改?

TOP

20# yjstone


恩 放在1和3的文件夹里测试通过 不知道为什么有个错误提示,我是想把它放在123456的文件夹里这样就不用在每个子目录都要放一个这样的文件了,不知这样该如何修改?

TOP

22# yjstone


感谢yjstone 可能你误解了我的意思 我是想让保持一级目录文件夹名的基础上把二级目录的东东移动到一级目录 并把二级目录的文件夹删除

TOP

24# yjstone


恩 你的代码我测试了 完美实现我想要的功能 奇怪的是有个错误提示  提示 找不到文件 这个该如何修改?

TOP

返回列表