lua跨平台文件夹遍历匹配查找

简介: require"lfs" --[[Desc:在B路径D文件中下 搜寻A路径下的没用到的C类文件;      并且将没用到的B类文件名称打印出来; 设置好路径拖到lua自带编辑器中即可运行之;]] --目标所在路径(A)(eg:png所在路径) PNG_FILE_PAT...
require"lfs"

--[[Desc:在B路径D文件中下 搜寻A路径下的没用到的C类文件;
      并且将没用到的B类文件名称打印出来;
设置好路径拖到lua自带编辑器中即可运行之;]]
--目标所在路径(A)(eg:png所在路径) PNG_FILE_PATH = "E:/Resource/images" --目标所寻路径(B)(eg:lua所在路径) LUA_FILE_PATH = "E:/Resource/scripts" --搜寻目标后缀config(C) SEARCH_TARGET = "%.png" --查找目标后缀config(D) FIND_TARGET = "%.lua" local pairs = pairs function findindir (path, wefind, r_table, intofolder, fileType) for file in lfs.dir(path) do if file ~= "." and file ~= ".." then local f = path..'/'..file local fname = file; if string.find(f, wefind) ~= nil then if fileType == "png" then table.insert(r_table, fname) --print(fname); elseif fileType == "lua" then table.insert(r_table, f) --print(f); end end local attr = lfs.attributes (f) assert (type(attr) == "table") if attr.mode == "directory" and intofolder then findindir (f, wefind, r_table, intofolder, fileType) else -- for name, value in pairs(attr) do -- print (name, value) -- end end end end end function isInIt( file,name ) for line in file:lines() do if isContain(line , name) then return true; end end return false; end function isContain( line , str ) return string.find(line , str); end ----[[ local pngFilePath = PNG_FILE_PATH local input_table_png = {} findindir(pngFilePath, SEARCH_TARGET , input_table_png, true, "png") -- "%.png$" print(#input_table_png); --]] ----[[ local luaFilePath = LUA_FILE_PATH local input_table_lua = {} findindir(luaFilePath, FIND_TARGET , input_table_lua, true, "lua") -- "%.lua$" print(#input_table_lua); --]] ----[[ local count = 0; for _,imageName in pairs(input_table_png) do local flag = 0 for _,fileName in pairs(input_table_lua) do local fileInfo = io.open(fileName,"r") if isInIt(fileInfo , imageName) then flag = 1; break; end end if flag == 0 then print("No Exist Image Name Is: "..imageName) count = count + 1; end end print("The File Count is:"..count); ----]]

lua文件lfs库可参见: http://keplerproject.github.io/luafilesystem/license.html

倾城之链 | NICE LINKS DJI Mavic Air
目录
相关文章
|
Windows
lua使用io.open跨平台文件夹遍历匹配查找
-- Desc :实现在LUA_PATH中的lua文件中遍历寻找没用到PNG_PATH路径下的png图片,并将其打印出来。 -- Date :12:49:28 2014-09-04 1 print("Lua Script Start") 2 3 function getFileName( path ) 4 len = string.
1306 0
|
3月前
|
存储 NoSQL 关系型数据库
使用lua脚本操作redis
使用lua脚本操作redis
50 0
|
3月前
|
NoSQL Java Redis
Redis进阶-lua脚本
Redis进阶-lua脚本
59 0
|
1月前
|
缓存 NoSQL Java
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
62 0
|
2月前
|
算法 NoSQL Java
springboot整合redis及lua脚本实现接口限流
springboot整合redis及lua脚本实现接口限流
76 0
|
1天前
|
存储 NoSQL 调度
Redis Lua脚本:原子性的真相揭秘
【4月更文挑战第20天】
4 0
Redis Lua脚本:原子性的真相揭秘
|
20天前
|
NoSQL Java Redis
lua脚本做redis的锁
这段内容是关于使用Redis实现分布式锁的Java代码示例。`RedisLock`类包含`lock`和`unlock`方法,使用`StringRedisTemplate`和Lua脚本进行操作。代码展示了两种加锁方式:一种带有过期时间,另一种不带。还提到了在加锁和解锁过程中的异常处理,并提供了相关参考资料链接。
17 3
|
22天前
|
存储 NoSQL 数据处理
Redis Lua脚本:赋予Redis更强大的逻辑与功能
Redis Lua脚本:赋予Redis更强大的逻辑与功能
|
1月前
|
监控
通过Lua脚本实现禁止员工上班玩游戏的软件的自动化任务管理
使用Lua脚本,企业可以自动化管理员工行为,防止上班时间玩游戏。Lua是一种轻量级脚本语言,适合编写监控任务。示例脚本展示了如何检测工作时间内员工是否玩游戏,并在发现时执行相应操作,如关闭游戏或发送警告。此外,另一脚本演示了如何将监控数据通过HTTP POST自动提交到网站,以实现有效的行为管理。这种解决方案灵活且可定制,有助于提升工作效率。
118 1
|
1月前
|
NoSQL Java 数据库
优惠券秒杀案例 - CAS、Redis+Lua脚本解决高并发并行
优惠券秒杀案例 - CAS、Redis+Lua脚本解决高并发并行