zoukankan      html  css  js  c++  java
  • 关于 MAXScript 获取全部文件

    MAXScript 官方文档里关于获取文件夹下所有文件的方法

    fn getFilesRecursive root pattern =
    (
    dir_array = GetDirectories (root+"/*")
    for d in dir_array do
      join dir_array (GetDirectories (d+"/*"))
    my_files = #()
    for f in dir_array do
      join my_files (getFiles (f + pattern))
    my_files
    )
    --get all .ms files from the folder c:/temp --and all its subfolders:
    getFilesRecursive "c:/temp" "*.ms"

    测试后发现无法获取单个文件夹内的文件,比如"C:/temp"下只有文件"1.ms","2.ms"就无法获取.

    解决办如下

    fn getFilesRecursive root pattern =
    (
    dir_array = GetDirectories (root+"/*")
    for d in dir_array do
      join dir_array (GetDirectories (d+"/*"))
    my_files = #()
    if dir_array.count == 0 do append dir_array (root + "\")
    for f in dir_array do
      join my_files (getFiles (f + pattern))
    my_files
    )

    这样就可以了,如果搜索目录内没有其他文件夹,那么就搜索该目录内的文件.

    再或者,收集指定目录及目录内所有子目录的文件.

    fn getFilesRecursive root pattern =
    (
    dir_array = GetDirectories (root+"/*")
    for d in dir_array do
      join dir_array (GetDirectories (d+"/*"))
    my_files = #()
    append dir_array (root + "\")
    for f in dir_array do
      join my_files (getFiles (f + pattern))
    my_files
    )
  • 相关阅读:
    百度地图代码API
    3层下拉列表
    stl+数论——1247D
    数论+乱搞——cf181B
    思维+multiset优化——cf1249E
    线性基思想+贪心——cf1249C
    tarjan求强连通+缩点——cf1248E
    排序+模拟+优先队列——cf1248E
    栈+括号序列+暴力枚举——cf1248D1
    二分+贪心——cf1251D
  • 原文地址:https://www.cnblogs.com/3dxy/p/3958301.html
Copyright © 2011-2022 走看看