Make shit less ass fuck shit fuck ass shit ass bruh what is this code
This commit is contained in:
+64
-21
@@ -1,27 +1,70 @@
|
||||
local fromFile, toFile = ...
|
||||
local fs = require("filesystem")
|
||||
local shell = require("shell")
|
||||
|
||||
if not fromFile or not toFile then
|
||||
shell.run("help cp")
|
||||
local args = {...}
|
||||
|
||||
if not args[1] then
|
||||
return shell.run("help cp")
|
||||
end
|
||||
|
||||
if not args[2] then
|
||||
terminal.write("\27[91mError: No destination\27[0m\n")
|
||||
return
|
||||
end
|
||||
if fromFile:sub(1, 1) ~= "/" then
|
||||
fromFile = fs.concat(shell.getWorkingDirectory(), fromFile)
|
||||
|
||||
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.copy(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.copy(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.copy(src, dest)
|
||||
else
|
||||
terminal.write("\27[91mUnknown error\27[0m\n")
|
||||
end
|
||||
if toFile:sub(1, 1) ~= "/" then
|
||||
toFile = fs.concat(shell.getWorkingDirectory(), toFile)
|
||||
end
|
||||
if fromFile == toFile then
|
||||
print("\27[91mSource and destination are the same.")
|
||||
return
|
||||
end
|
||||
if not fs.exists(fromFile) then
|
||||
print("\27[91mSource file does not exist.")
|
||||
return
|
||||
end
|
||||
if fs.exists(toFile) and not (table.find({...}, "-o") or table.find({...}, "--overwrite")) then
|
||||
print("\27[91mDestination file already exists. Run this command again with -o to overwrite it.")
|
||||
return
|
||||
end
|
||||
fs.copy(fromFile, toFile)
|
||||
|
||||
Reference in New Issue
Block a user