1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Add Directory.Copy

This commit is contained in:
Jannis 2024-10-29 22:37:38 +00:00 committed by GitHub
parent d46cc8d015
commit 63d5bc07b5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -90,6 +90,23 @@ namespace System.IO
return .Ok;
}
///Copies and overwrites the contents of fromPath into toPath.
public static Result<void, Platform.BfpFileResult> Copy(StringView fromPath, StringView toPath)
{
if(Directory.CreateDirectory(toPath) case .Err(let err))
return .Err(err);
for(var file in Directory.EnumerateFiles(fromPath))
if(File.Copy(file.GetFilePath(.. scope .()), scope $"{toPath}/{file.GetFileName(.. scope .())}") case .Err(let err))
return .Err(err);
for(var dir in Directory.EnumerateDirectories(fromPath))
if(Directory.Copy(dir.GetFilePath(.. scope .()), scope $"{toPath}/{dir.GetFileName(.. scope .())}") case .Err(let err))
return .Err(err);
return .Ok;
}
public static void GetCurrentDirectory(String outPath)
{
Platform.GetStrHelper(outPath, scope (outPtr, outSize, outResult) =>