tan133 发表于 2010-10-26 13:33:54

[已解决] 小弟不才,不知道这DirMove函数的问题如何解

本帖最后由 tan133 于 2010-10-26 17:25 编辑

Filemove("E:\test\t","E:\test\000000",1)

因为AU没有重命名函数,通常用这个重命名
但是现在问题来了,如果0000000目录存在,不是直接T覆盖00000000,而是作为它的子目录拷贝的
毛主席教导我们,要多看帮助,帮助上说,第三个参数的意思是,如果目录存在,就覆盖
为什么FileMOVE可以,而DIRMOVE就不行呢?那我要写一个覆盖当前目录下另一个目录的用法,难道还真得写无数行?判断存不存在,不存在就复制,存在就把目录先删除再复制?好象没那么麻烦吧?

各位,我是新手,描述不准,见谅哈

已解决,不知道如何改,

3mile 发表于 2010-10-26 14:29:02

本帖最后由 3mile 于 2010-10-26 14:30 编辑

回复 1# tan133
请测试CMD下MOVE X:\XXX Y:\XXX再说。注意/说明

若源目录和目标目录位于不同的卷标或 UNC 路径已被使用,则本函数将执行复制/删除操作而不是直接移动.

若目标目录已存在并指定了覆盖标志(参数),则源目录将被移动到目标目录 里面.

由于 AutoIt,并没有"DirRename" (目录重命名)函数,请使用 DirMove 函数来重命名文件夹!

tan133 发表于 2010-10-26 17:24:04

请测试CMD下MOVE X:\XXX Y:\XXX再说。

意思就是,其实它是调用CMD的MOVE来做的?是说怎么不够智能
我另用CMD写了一个,虽然相当麻烦,至少可以解决问题

tan133 发表于 2010-10-27 22:08:08

回来回应下,貌似用CMD的MOVE比直接dirmove还要快(我手上大约有发万个测试的,没记准确时间,但CMD下真的要快点,看来,原始的工具还是不错的)

tan133 发表于 2010-10-27 22:09:24

MOVE  FOLDER    D:\133
这句的意思是把FOLDER移到133目录下,这个要注意
页: [1]
查看完整版本: [已解决] 小弟不才,不知道这DirMove函数的问题如何解