diff --git a/src/main/resources/assets/computercraft/lua/rom/programs/copy.lua b/src/main/resources/assets/computercraft/lua/rom/programs/copy.lua index 344903f6d..8158b84a5 100644 --- a/src/main/resources/assets/computercraft/lua/rom/programs/copy.lua +++ b/src/main/resources/assets/computercraft/lua/rom/programs/copy.lua @@ -13,7 +13,11 @@ if #tFiles > 0 then if fs.isDir( sDest ) then fs.copy( sFile, fs.combine( sDest, fs.getName(sFile) ) ) elseif #tFiles == 1 then - fs.copy( sFile, sDest ) + if fs.exists( sDest ) then + printError( "Destination exists" ) + else + fs.copy( sFile, sDest ) + end else printError( "Cannot overwrite file multiple times" ) return diff --git a/src/main/resources/assets/computercraft/lua/rom/programs/mkdir.lua b/src/main/resources/assets/computercraft/lua/rom/programs/mkdir.lua index 956123ff6..98585d3f1 100644 --- a/src/main/resources/assets/computercraft/lua/rom/programs/mkdir.lua +++ b/src/main/resources/assets/computercraft/lua/rom/programs/mkdir.lua @@ -5,5 +5,11 @@ if #tArgs < 1 then end local sNewDir = shell.resolve( tArgs[1] ) + +if fs.exists( sNewDir ) and not fs.isDir(sNewDir) then + printError( "Destination exists" ) + return +end + fs.makeDir( sNewDir ) diff --git a/src/main/resources/assets/computercraft/lua/rom/programs/rename.lua b/src/main/resources/assets/computercraft/lua/rom/programs/rename.lua index 6054feb04..f22561c26 100644 --- a/src/main/resources/assets/computercraft/lua/rom/programs/rename.lua +++ b/src/main/resources/assets/computercraft/lua/rom/programs/rename.lua @@ -6,4 +6,9 @@ end local sSource = shell.resolve( tArgs[1] ) local sDest = shell.resolve( tArgs[2] ) + +if fs.exists( sDest ) then + printError( "Destination exists" ) +end + fs.move( sSource, sDest )