actual initial commit smh
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
local fs = require("filesystem")
|
||||
local shell = require("shell")
|
||||
|
||||
local args = {...}
|
||||
|
||||
if not args[1] then
|
||||
return shell.run("help mv")
|
||||
end
|
||||
|
||||
if not args[2] then
|
||||
terminal.write("\27[91mError: No destination\27[0m\n")
|
||||
return
|
||||
end
|
||||
|
||||
local dest = shell.resolvePath(args[#args])
|
||||
|
||||
if fs.isFile(dest) then
|
||||
if #args ~= 2 then
|
||||
terminal.write("\27[91mError: Destination is not a directory\27[0m\n")
|
||||
return
|
||||
end
|
||||
local src = shell.resolvePath(args[1])
|
||||
if not fs.exists(src) then
|
||||
terminal.write("\27[91mError: " .. src .. ": No such file or directory\27[0m\n")
|
||||
return
|
||||
end
|
||||
if fs.isDirectory(src) then
|
||||
terminal.write("\27[91mError: Cannot write directory " .. src .. " to file " .. dest .. "\27[0m\n")
|
||||
return
|
||||
end
|
||||
fs.rename(src, dest)
|
||||
elseif fs.isDirectory(dest) then
|
||||
for i = 1, #args - 1 do
|
||||
local src = shell.resolvePath(args[i])
|
||||
if src == dest then
|
||||
terminal.write("\27[91mError: Source and destination are the same\27[0m\n")
|
||||
goto continue
|
||||
end
|
||||
|
||||
if not fs.exists(src) then
|
||||
terminal.write("\27[91mError: " .. src .. ": No such file or directory\27[0m\n")
|
||||
goto continue
|
||||
end
|
||||
|
||||
fs.rename(src, fs.concat(dest, fs.basename(src)))
|
||||
::continue::
|
||||
end
|
||||
elseif not fs.exists(dest) then
|
||||
if #args ~= 2 then
|
||||
terminal.write("\27[91mError: " .. dest .. ": No such file or directory\27[0m\n")
|
||||
return
|
||||
end
|
||||
local src = shell.resolvePath(args[1])
|
||||
if not fs.exists(src) then
|
||||
terminal.write("\27[91mError: " .. src .. ": No such file or directory\27[0m\n")
|
||||
return
|
||||
end
|
||||
local destp = fs.parent(dest)
|
||||
if not fs.exists(destp) then
|
||||
terminal.write("\27[91mError: " .. destp .. ": No such file or directory\27[0m\n")
|
||||
return
|
||||
end
|
||||
if not fs.isDirectory(destp) then
|
||||
terminal.write("\27[91mError: " .. destp .. ": Not a directory\27[0m\n")
|
||||
return
|
||||
end
|
||||
fs.rename(src, dest)
|
||||
else
|
||||
terminal.write("\27[91mUnknown error\27[0m\n")
|
||||
end
|
||||
Reference in New Issue
Block a user