控制台的del命令添加递归模式开关
This commit is contained in:
@@ -286,7 +286,7 @@ function commands.print(name)
|
|||||||
log("Unprintable item: %s (%s)"):format(name,info.type)
|
log("Unprintable item: %s (%s)"):format(name,info.type)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
log{C.R,"No file called '"..name.."'"}
|
log{C.R,("No file called '%s'"):format(name)}
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
log{C.aqua,"Usage: print [filename]"}
|
log{C.aqua,"Usage: print [filename]"}
|
||||||
@@ -302,56 +302,98 @@ function commands.url(url)
|
|||||||
log{C.aqua,"Usage: url [url]"}
|
log{C.aqua,"Usage: url [url]"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local function tree(path,name,depth)
|
do--function commands.tree()
|
||||||
local info=love.filesystem.getInfo(path..name)
|
local function tree(path,name,depth)
|
||||||
if info.type=="file"then
|
local info=love.filesystem.getInfo(path..name)
|
||||||
log(("\t\t"):rep(depth)..name)
|
if info.type=="file"then
|
||||||
elseif info.type=="directory"then
|
log(("\t\t"):rep(depth)..name)
|
||||||
log(("\t\t"):rep(depth)..name..">")
|
elseif info.type=="directory"then
|
||||||
local L=love.filesystem.getDirectoryItems(path..name)
|
log(("\t\t"):rep(depth)..name..">")
|
||||||
for _,subName in next,L do
|
local L=love.filesystem.getDirectoryItems(path..name)
|
||||||
tree(path..name.."/",subName,depth+1)
|
for _,subName in next,L do
|
||||||
end
|
tree(path..name.."/",subName,depth+1)
|
||||||
else
|
|
||||||
log("Unkown item type: %s (%s)"):format(name,info.type)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function commands.tree()
|
|
||||||
local L=love.filesystem.getDirectoryItems("")
|
|
||||||
for _,name in next,L do
|
|
||||||
if love.filesystem.getRealDirectory(name)==SAVEDIR then
|
|
||||||
tree("",name,0)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function commands.del(name)
|
|
||||||
if name~=""then
|
|
||||||
local info=love.filesystem.getInfo(name)
|
|
||||||
if info then
|
|
||||||
if info.type=="file"then
|
|
||||||
if love.filesystem.remove(name)then
|
|
||||||
log({C.Y,"Succesfully deleted"})
|
|
||||||
else
|
|
||||||
log({C.R,"Failed to delete"})
|
|
||||||
end
|
|
||||||
elseif info.type=="directory"then
|
|
||||||
if #love.filesystem.getDirectoryItems(name)==0 then
|
|
||||||
if love.filesystem.remove(name)then
|
|
||||||
log({C.Y,"Succesfully deleted file '"..name.."'"})
|
|
||||||
else
|
|
||||||
log({C.R,"Failed to delete file '"..name.."'"})
|
|
||||||
end
|
|
||||||
else
|
|
||||||
log{C.R,"Directory '"..name.."' is not empty"}
|
|
||||||
end
|
|
||||||
else
|
|
||||||
log("Unkown item type: %s (%s)"):format(name,info.type)
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
log{C.R,"No file called '"..name.."'"}
|
log("Unkown item type: %s (%s)"):format(name,info.type)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function commands.tree()
|
||||||
|
local L=love.filesystem.getDirectoryItems("")
|
||||||
|
for _,name in next,L do
|
||||||
|
if love.filesystem.getRealDirectory(name)==SAVEDIR then
|
||||||
|
tree("",name,0)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
do
|
||||||
|
local function delFile(name)
|
||||||
|
if love.filesystem.remove(name)then
|
||||||
|
log{C.Y,("Deleted: '%s'"):format(name)}
|
||||||
|
else
|
||||||
|
log{C.R,("Failed to delete: '%s'"):format(name)}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local function delDir(name)
|
||||||
|
if #love.filesystem.getDirectoryItems(name)==0 then
|
||||||
|
if love.filesystem.remove(name)then
|
||||||
|
log{C.Y,("Directory deleted: '%s'"):format(name)}
|
||||||
|
else
|
||||||
|
log{C.R,("Failed to delete directory '%s'"):format(name)}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
log{C.R,"Directory '"..name.."' is not empty"}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local function recursiveDelDir(dir)
|
||||||
|
local containing=love.filesystem.getDirectoryItems(dir)
|
||||||
|
if #containing==0 then
|
||||||
|
if love.filesystem.remove(dir)then
|
||||||
|
log{C.Y,("Succesfully deleted directory '%s'"):format(dir)}
|
||||||
|
else
|
||||||
|
log{C.R,("Failed to delete directory '%s'"):format(dir)}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for _,name in next,containing do
|
||||||
|
local path=dir.."/"..name
|
||||||
|
local info=love.filesystem.getInfo(path)
|
||||||
|
if info then
|
||||||
|
if info.type=="file"then
|
||||||
|
delFile(path)
|
||||||
|
elseif info.type=="directory"then
|
||||||
|
recursiveDelDir(path)
|
||||||
|
else
|
||||||
|
log("Unkown item type: %s (%s)"):format(name,info.type)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
delDir(dir)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function commands.del(name)
|
||||||
|
local recursive=name:sub(1,3)=="/s "
|
||||||
|
if recursive then name=name:sub(4)end
|
||||||
|
|
||||||
|
if name~=""then
|
||||||
|
local info=love.filesystem.getInfo(name)
|
||||||
|
if info then
|
||||||
|
if info.type=="file"then
|
||||||
|
if recursive then
|
||||||
|
log{C.R,name.." is not a directory."}
|
||||||
|
else
|
||||||
|
delFile(name)
|
||||||
|
end
|
||||||
|
elseif info.type=="directory"then
|
||||||
|
(recursive and recursiveDelDir or delDir)(name)
|
||||||
|
else
|
||||||
|
log("Unkown item type: %s (%s)"):format(name,info.type)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
log{C.R,("No file called '%s'"):format(name)}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
log{C.aqua,"Usage: del [filename]"}
|
||||||
end
|
end
|
||||||
else
|
|
||||||
log{C.aqua,"Usage: del [filename]"}
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
commands.exit=backScene
|
commands.exit=backScene
|
||||||
@@ -445,12 +487,12 @@ function commands.setbg(name)
|
|||||||
if name~=""then
|
if name~=""then
|
||||||
if name~=BG.cur then
|
if name~=BG.cur then
|
||||||
if BG.set(name)then
|
if BG.set(name)then
|
||||||
log("Background set to '"..name.."'")
|
log(("Background set to '%s'"):format(name))
|
||||||
else
|
else
|
||||||
log("No background called '"..name.."'")
|
log(("No background called '%s'"):format(name))
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
log("Background already set to '"..name.."'")
|
log(("Background already set to '%s'"):format(name))
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
log{C.aqua,"Usage: setbg [bgName]"}
|
log{C.aqua,"Usage: setbg [bgName]"}
|
||||||
|
|||||||
Reference in New Issue
Block a user