Board logo

标题: [文件操作] bat或vbs移动子文件夹,而不移动根文件夹的问题 [打印本页]

作者: meke    时间: 2015-2-28 17:50     标题: bat或vbs移动子文件夹,而不移动根文件夹的问题

为了解决下面的问题,翻遍整个网络都没有找到相关的实用案例。

A文件下 有2个子文件夹B和C,C文件夹下又有许多子文件夹和不同类型的文件。
现在,我想将C文件夹下的所有子文件夹(包括它们里面的文件)都移动到B文件夹里去。注意:不能移动C文件夹本身和C文件下的其它不同类型文件。

希望有高手帮我实现这段代码,谢谢!

PS:下面这段bat会将整个C文件夹所有内容包括其本身一并移动到B文件,这并不是我想要的。
for /r "C:\A\C\" %%G in (.) do move "%%G" "C:\A\B\"
作者: tigerpower    时间: 2015-2-28 17:54

什么叫“不同类型”?
作者: pcl_test    时间: 2015-2-28 18:48

回复 1# meke
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=1
  4. for /r "C:\A\C\" %%i in (.) do (
  5. set "dir=%%i"
  6. if not "!n!" == "1" (
  7. move /y "!dir:~0,-2!" "C:\A\B\"
  8. )
  9. set /a n+=1
  10. )
  11. pause
复制代码

作者: meke    时间: 2015-2-28 18:59

回复 2# tigerpower


    例如,jpg,txt,等等!
作者: meke    时间: 2015-2-28 19:09

本帖最后由 meke 于 2015-2-28 19:12 编辑

回复 3# pcl_test

谢谢!你的代码正常工作,解决了我的问题。
但是,如果文件夹的名称带有&,!这些特殊符号的话,它们是不能移动的,这个问题还可以解决吗?
谢谢!




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