代号小一

看不到子标题【表情】

导航

关于 MAXScript 拷贝文件夹及内容到其他位置

  之前用 hiddenDOSCommand 本机测试通过,但是换其他电脑有时会不能用...

fn xcopy oldfile newfile =
(
    newfilepath = newfile + "\\" + getFilenameFile oldfile
    xcopy_cmd = "xcopy /s /e /i /y " + oldfile + " " + newfilepath-- + " &&rd /s /q " + oldfile
    hiddenDOSCommand (xcopy_cmd as string) startpath:"C:\\"
) -- 复制整个文件夹到指定目录

只能用 MAXScript 完成了...

fn copydir dir n =
(
    dir_array = GetDirectories (dir + "/*")
    for d in dir_array do 
    (
        join dir_array (GetDirectories (d + "/*"))
    )
    copy_files = #()
    append dir_array (dir + "/")
    for f in dir_array do
    (
        join copy_files (getFiles (f + "*"))
    )
    for c in copy_files do
    (
        dir_path = n + (replace (getFilenamePath c) 1 dir.count "")
        makedir dir_path
        copyfile c ( dir_path  + (filenameFromPath c))
        
    )
)-- 将目标目录中的所有文件拷贝到输出目录,如果已存在则不拷贝

先收集所有的子目录,然后逐个收集目录内的文件,再新建目标目录并拷贝文件.

可能方法比较笨...但是暂时能用.

posted on 2014-12-12 15:24  代号小一  阅读(1478)  评论(0编辑  收藏  举报