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

[文件操作] 批处理移动各种属性文件目录到原目录里指定的子目录

例子:
(当前有多个类似 AAA目录,非单一个AAA目录)
1: AAA 目录下有各种各样的文件和xp.bak 和一些子目录(子目录非空,一样也有各种文件存在)
2:该目录下的文件和目录可能具有一个或多个文件属性(如:系统、隐藏、可读、存档)
3:xp.bak文件是没有隐藏属性的
4:保留文件和目录原本的文件属性
5:不要用COPY或XCOPY功能,因文件有时太多或太大,会影响速度


现想实现把  AAA目录下的所有文件和子目录移动到 AAA目录里的子目录Test 需创建Test目录),xp.bak文件不动,保留在原来的地方

我自己原本的方法是想这样,但MOVE不能移动特殊属性的文件,而且不能移动当前目录到当前目录的子目录
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a /b') do (
  3. for /f "delims=" %%b in ('dir /a /b %%a') do (
  4. if %%b neq xp.bak md %%a\Test&move %%b %%a\Test)
  5. )
复制代码
但因为MOVE没法移动特殊属性文件,不知道怎么解决,而且上面的代码个人看起来自己都觉得有点烦锁,呵呵,希望帮忙指点一下


例如:

AAA目录原列表
I
I__ 123.exe  aaa.dll  ew.ini  oip.sys  555(这个是文件夹)  xp.bak


想实现成这样:

AAA目录列表
I
I__ xp.bak
I
I__ Test
           I
           I__123.exe  aaa.dll  ew.ini  oip.sys  555(这个是文件夹)         →(TEST下的这些文件要保留原本的属性)

[ 本帖最后由 pine 于 2009-10-17 10:25 编辑 ]

有人能帮忙解决吗?今天等了一天了,谢谢

TOP

我重新更新了下,我也知道有些麻烦,谢谢你,希望能一起想个方案出来

TOP

谢谢bhsx,也谢谢keen,不过bhsx的方法好像有点繁锁了?我参考下,keen,能否不要用VBS,因为VBS我暂时还没编写过,我想听听大家的做法,MOVE是在同个分区里移动的。

TOP

有没有什么方法呢,用BAT方式

TOP

返回列表