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

[文件操作] [已解决]批处理如何移动指定目录下子目录下的文件夹?

文件夹121
文件夹121\za...ka(很多个,名称不规则)
文件夹121\za...ka\za...ka(很多个,名称不规则)
文件夹121\za...ka\files(名称固定)
文件夹121\za...ka\0404(名称有规律,全部为数字组成,都是4位数)

如何将121\za...ka\za...ka批量移动到121\za...ka\files,且排除0404文件夹
另外,121\za...ka下,绝对只有一个0404和files,除了这两个文件夹外,其他的文件夹全部移动到121\za...ka\files下

移动后:
文件夹121
文件夹121\za...ka(很多个,名称不规则)
文件夹121\za...ka\files(名称固定)
文件夹121\za...ka\files\za...ka
文件夹121\za...ka\0404(名称有规律,全部为数字组成,都是4位数)

上述名称全部为文件夹
这个东西我完全没有头绪!!!!

国际惯例,谢谢先!

[ 本帖最后由 zhxixeng12 于 2010-10-11 09:22 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

LZ语文表达能力太差了,一个简单的问题说得那么复杂,还发了那么多附件,超郁闷!~喜欢大大们说的:把复杂的问题简单化。
LZ先生,按12楼概括的在一楼把问题重新描述一下,顺便把你的附件都删除了,否则版主看见了就想抽你!~

TOP

这帖可以加“精”了。脑残问题。。。

TOP

回复 33楼 的帖子

能不能把要求一次全部说完?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 29楼 的帖子

麻烦您再帮一下!

我想要一个只移动*.*的文件夹,*.*就是需要移动的文件夹的规则,中间必有一个点

谢谢!

TOP

回复 30楼 的帖子

  1. @echo off&setlocal enabledelayedexpansion
  2. for /d %%x in (*) do if exist "%cd%\%%x" cd /d "%cd%\%%x"&&if exist "files" move "*.dll" "files">nul&echo 已移动: *.dll&for /d %%a in (*) do if /i not "%%a"=="files" echo %%a|findstr /be "[0-9][0-9][0-9][0-9]"||if exist "%%a" if exist "files" move "%%a" "files">nul&echo 已移动: %%a
  3. pause
复制代码
这回完美了,睡觉!~

[ 本帖最后由 cjiabing 于 2010-10-9 03:02 编辑 ]
1

评分人数

TOP

回复 28楼 的帖子

又有问题了,如果我需要排除的是files和0404或0409....呢?

TOP

回复 28楼 的帖子

太厉害了,这个我完全看不明白。

只看明白了排除files和0804.

TOP

回复 26楼 的帖子

就是这个命令,成了:
  1. @echo off
  2. cd OEM1
  3. for /d %%x in (*) do cd /d "%cd%\%%x"&&for /d %%a in (*) do if /i not "%%a"=="files" if /i not "%%a"=="0804" if exist "files" move "%%a" "files"&echo 已移动: %%i
  4. pause
复制代码

TOP

可能会提示重复、目录不存在之类的,好像没这回事——我这里是这样的

TOP

回复 26楼 的帖子

能所有最好,不能就只移动以.dll结尾的文件夹

TOP

  1. @echo off
  2. for /d %%x in (*) do cd /d "%cd%\%%x"&&for /d %%a in (*) do if /i not "%%a"=="files"  if /i not "%%a"=="0804"  if exist "files" move "%%a" "files">nul&echo 已移动: %%a&if exist "files" move "*.dll" "files">nul&echo 已移动: *.dll
  3. pause
复制代码
被你的命令误导了,这个是移动文件夹的,稍等给你弄移动文件的,所有文件还是只dll文件?
——————————————————
OK,在我这里测试通过,你把程序放在Menu_Enhancement_1_1_20113129_00这一级外面即可。

[ 本帖最后由 cjiabing 于 2010-10-9 02:07 编辑 ]

TOP

我的批处理和OEM1处同一目录

出错了也没事,OEM1是专门测试的

[ 本帖最后由 zhxixeng12 于 2010-10-9 01:45 编辑 ]

TOP

  1. @echo off
  2. cd OEM1
  3. for /d %%a in (*) do if /i not "%%a"=="files" if /i not "%%a"=="0804" cd %%a&&for /f %%i in ('dir /ad /b *.dll') do move %%i files>nul&echo 已移动: %%i
  4. pause
复制代码

TOP

回复 22楼 的帖子

只能处理IME_CHS_2_1_20132025_00
IME_CHS_2_1_20132025_00处理完成后就提示系统找不到系统找不到指定的路径

TOP

返回列表