public void CopyFileTo(IVirtualFile target, CopyFileMode mode) { GetFile().CopyFileTo(target, mode); foreach (IVirtualFile subfile in GetSubFiles()) { string postfix = subfile.Name.Substring(GetFile().Name.Length); IVirtualFile newsub = target.Parent.GetFile(target.Name + postfix); subfile.CopyFileTo(newsub, mode); } foreach (IVirtualFolder subfolder in GetSubFolders()) { string postfix = subfolder.Name.Substring(GetFile().Name.Length); IVirtualFolder newsub = target.Parent.GetFolder(target.Name + postfix); subfolder.CopyResursiveFolderTo(newsub, mode); //subfile.CopyFileTo(newsub, mode); } }
public static void CopyFile(string srcfile, string dstfile, CopyFileMode mode) { try { Directory.CreateDirectory(Path.GetDirectoryName(dstfile)); } catch { } switch (mode) { case CopyFileMode.Copy: File.Copy(srcfile, dstfile, true); break; case CopyFileMode.Move: if (File.Exists(dstfile)) { File.Delete(dstfile); } File.Move(srcfile, dstfile); break; } }
private void DragDropFile(AppObject appobj, CopyFileMode mode) { if (appobj is FileAppObjectBase) { var ao = (FileAppObjectBase)appobj; var src = ao.GetFile(); var newfile = Folder.GetFile(src.Name); if (newfile.Exists()) { if (!StdDialog.ReallyOverwriteFile(newfile.Name)) { return; } } ao.CopyFileTo(newfile, mode); //src.CopyFileTo(newfile, mode); //CopyVirtualFileTo(src, newfile, mode); CallCompleteChanged(); } }
private object CopyTo(object item, CopyFileMode mode) { string file = GetFileName(item); string oldname = GetItemName(file); string newname = InputBox.Run(Texts.Get("s_new_name"), oldname); if (newname != null) { string newfile = System.IO.Path.Combine( System.IO.Path.GetDirectoryName(file), System.IO.Path.ChangeExtension(newname, System.IO.Path.GetExtension(file))); if (File.Exists(newfile)) { if (!StdDialog.ReallyOverwriteFile(newfile)) { return(null); } } if (mode == CopyFileMode.Copy) { File.Copy(file, newfile, true); } if (mode == CopyFileMode.Move) { File.Move(file, newfile); } var res = CreateNewAddon(); res.LoadFromFile(newfile); if (res is IFileBasedAddonInstance) { ((IFileBasedAddonInstance)res).AddonFileName = newfile; } return(res); //return GetItemName(newfile); } return(null); }
public static void CopyFile(string srcfile, string dstfile, CopyFileMode mode) { try { Directory.CreateDirectory(Path.GetDirectoryName(dstfile)); } catch { } switch (mode) { case CopyFileMode.Copy: File.Copy(srcfile, dstfile, true); break; case CopyFileMode.Move: if (File.Exists(dstfile)) File.Delete(dstfile); File.Move(srcfile, dstfile); break; } }
public static void CopyResursiveFolderTo(this IVirtualFolder folder, IVirtualFolder dstfolder, CopyFileMode mode) { if (!dstfolder.Exists()) { dstfolder.Create(); } folder.CopyFolderContent(dstfolder, mode); }
public static void CopyFolderContent(this IVirtualFolder folder, IVirtualFolder dstfolder, CopyFileMode mode) { foreach (var file in folder.LoadFiles()) { file.CopyFileTo(dstfolder.GetFile(file.Name), mode); } foreach (var fld in folder.LoadFolders()) { fld.CopyResursiveFolderTo(dstfolder.GetFolder(fld.Name), mode); } }
public static void CopyFileTo(this IVirtualFile srcfile, IVirtualFile dstfile, CopyFileMode mode) { if (srcfile.DiskPath != null && dstfile.DiskPath != null && IOTool.FileIsLink(srcfile.DiskPath)) { IOTool.CopyFile(srcfile.DiskPath, dstfile.DiskPath, mode); return; } if (srcfile.DataDiskPath != null && dstfile.DataDiskPath != null) { IOTool.CopyFile(srcfile.DataDiskPath, dstfile.DataDiskPath, mode); return; } string text = null; byte[] data = null; try { text = srcfile.GetText(); } catch (Exception) { data = srcfile.GetBinary(); } if (text != null) { dstfile.SaveText(text); } else { dstfile.SaveBinary(data); } if (mode == CopyFileMode.Move) { srcfile.Remove(); } }