以编程方式复制和粘贴文件

     2023-02-22     36

关键词:

【中文标题】以编程方式复制和粘贴文件【英文标题】:Copy and paste a file programmaticaly 【发布时间】:2014-02-26 15:17:17 【问题描述】:

问题背景:

我需要将文件从一个文件夹位置复制并粘贴(移动)到另一个位置。

问题:

System.IOFile.Copy 方法要求两个参数都具有已知文件位置。我只知道一个文件路径位置——在本例中为localDevPathlocalQAPath 是我希望复制的文件也被移动到的文件夹路径。

string localDevPath = @"C:\Folder1\testFile.cs";

string localQaPath = @"C:\Folder2\";

File.Copy(localDevPath, localQaPath);

谁能告诉我如何执行我正在尝试实施的这种“复制和粘贴”方法。

【问题讨论】:

File.Move 怎么样? 你的代码有什么问题?你总是知道两个文件的位置,因为如果你不知道文件在哪里,你就不能复制它,你也不能把它复制到你不知道的地方。如果“问题”是您的 QaPath 只是一个文件夹,则标准是将新文件命名为与以前的文件相同。只需获取最后一个 / 之后的子字符串 【参考方案1】:
string localDevPath = @"C:\Folder1\testFile.cs";
string localQaPath = @"C:\Folder2\";
FileInfo fi = new FileInfo(localDevPath);
fi.MoveTo(Path.Combine(localQaPath, fi.Name));

【讨论】:

【参考方案2】:

假设这些是用户提供的路径并且您不能简单地将文件名包含在第二个路径中,那么您需要从localDevPath 中提取最后一个路径元素,然后将其添加到localQaPath。您可以使用Path.GetFilename 来做到这一点。

【讨论】:

我可以简单地将 'TestFile.cs' 附加到 'localQaPath' 中,即使它当前不存在于 'Folder2' 中,它也会被覆盖和添加? 是的,这实际上是最简单的解决方案。不过,我不明白您所说的覆盖是什么意思。如果它不存在,它如何被覆盖?至于如果它确实存在会发生什么,我会查看File.Copy 文档。【参考方案3】:

我猜这里的问题是文件名是可变的,在这种情况下,你可以这样做从 localDevPath 的完整路径中提取文件名:

string localDevPath = @"C:\Folder1\testFile.cs";
string localQaPath = @"C:\Folder2\";
string[] tokens = localDevPath.Split(@"\");
localQaPath += tokens[tokens.Length-1];

File.Copy(localDevPath, localQaPath);

有关 File.Copy 的文档位于 MSDN。有一个接受布尔值的重载,以便在存在命名冲突时允许覆盖。

【讨论】:

【参考方案4】:

如果您想要将文件从一个位置移动到另一个位置,您正在寻找的方法是 MoveTo。它是 FileInfo 类的一个方法。这里的MSDN库中有一个非常完整的例子:FileInfo.MoveTo Example

【讨论】:

有没有办法以编程方式将 Excel 单元格保存到可以加载的本地文件,就像使用 VSTO 的“复制和粘贴”一样?

】有没有办法以编程方式将Excel单元格保存到可以加载的本地文件,就像使用VSTO的“复制和粘贴”一样?【英文标题】:IsthereanywaytoprogramaticalllysaveExcelcelltolocalfilesthatcouldbeloadjustlike"copyandpaste"withVSTO?【发布时间】:2021-10-... 查看详情

是否有通过 Windows 资源管理器以编程方式剪切/复制/粘贴文件的 Windows API?

】是否有通过Windows资源管理器以编程方式剪切/复制/粘贴文件的WindowsAPI?【英文标题】:IsthereaWindowsAPItoprogrammaticallyCut/Copy/PastefilesviaWindowsExplorer?【发布时间】:2012-04-0808:36:33【问题描述】:我知道SHFileOperation可用于与WindowsExplo... 查看详情

如何以编程方式移动、复制和删除 SD 上的文件和目录?

】如何以编程方式移动、复制和删除SD上的文件和目录?【英文标题】:Howtoprogrammaticallymove,copyanddeletefilesanddirectoriesonSD?【发布时间】:2011-05-0920:31:05【问题描述】:我想以编程方式移动、复制和删除SD卡上的文件和目录。我已... 查看详情

如何以编程方式复制包含的文件

】如何以编程方式复制包含的文件【英文标题】:Howtocopyincludedfileprogrammatically【发布时间】:2012-09-0100:51:58【问题描述】:我有一个VisualC#2008项目。在我的项目浏览器中,我有一个SQLCE数据库(sdf文件),因此我可以在设计器中... 查看详情

如何以编程方式添加 NSMenu?

】如何以编程方式添加NSMenu?【英文标题】:HowtoaddNSMenuProgrammatically?【发布时间】:2015-05-0103:54:35【问题描述】:我没有使用storyboard和xib,只使用了代码。我想以编程方式添加“编辑”菜单。我的问题是1)如何显示“编辑”菜... 查看详情

如何以编程方式获取 FCM 发送、打开和转换的报告? [复制]

】如何以编程方式获取FCM发送、打开和转换的报告?[复制]【英文标题】:HowtoprogrammaticallygetFCMsent,opened,andconvertedreports?[duplicate]【发布时间】:2018-10-0321:49:21【问题描述】:FirebaseCloudMessaging有一个UI,可以查看已发送的单个消息... 查看详情

如何以编程方式检索“程序文件”文件夹的实际路径? [复制]

】如何以编程方式检索“程序文件”文件夹的实际路径?[复制]【英文标题】:HowdoIprogrammaticallyretrievetheactualpathtothe"ProgramFiles"folder?[duplicate]【发布时间】:2010-11-0807:21:26【问题描述】:可能重复:C#-HowtogetProgramFiles(x86)onW... 查看详情

以编程方式从应用程序的资产文件夹复制数据库文件

】以编程方式从应用程序的资产文件夹复制数据库文件【英文标题】:copyadatabasefileprogramaticallyfromassetfolderoftheapplication【发布时间】:2011-12-1312:35:42【问题描述】:我已经搜索了很多关于这个问题。我的手机没有root。我想以编... 查看详情

以编程方式将代码添加到javascript函数

我正在尝试自定义现有的JS库而不修改原始的JS代码。这段代码加载了一些我有权访问的外部JS文件,我想做的是更改原始文件中包含的一个函数,而不复制并将整个文件粘贴到第二个JS文件中。例如,关闭限制JS可能有这样的功... 查看详情

粘贴后“插入点”的位置(以编程方式)[关闭]

】粘贴后“插入点”的位置(以编程方式)[关闭]【英文标题】:Locationof\'insertionpoint\'afterpasting(programmatically)[closed]【发布时间】:2014-05-1504:16:43【问题描述】:我想知道“如何”,在粘贴后,光标的位置以编程方式阻止(就像... 查看详情

如何以编程方式将音频文件从 iPhone 的文件系统复制到资产库

】如何以编程方式将音频文件从iPhone的文件系统复制到资产库【英文标题】:HowtocopyaudiofilefromiPhone\'sfilesystemtoassetlibraryprogrammatically【发布时间】:2011-01-2402:05:58【问题描述】:我有一个音频文件,我从流中保存到iPhone上的~/Docum... 查看详情

如何以编程方式创建用户可以下载的 Javascript 客户端文件? [复制]

】如何以编程方式创建用户可以下载的Javascript客户端文件?[复制]【英文标题】:HowtoprogrammaticallycreateaclientsidefileinJavascriptthatcanbedownloadedbytheuser?[duplicate]【发布时间】:2013-02-2708:32:52【问题描述】:我想尝试创建一个Javascript应... 查看详情

Android以编程方式设置在xml文件中声明的按钮边距? [复制]

】Android以编程方式设置在xml文件中声明的按钮边距?[复制]【英文标题】:Androidsetmarginofbuttonsdeclaredinxmlfileprogrammatically?[duplicate]【发布时间】:2012-05-2421:11:46【问题描述】:可能重复:SetmarginsinaLinearLayoutprogrammatically我的布局中... 查看详情

在 Ionic 中以编程方式从 Branch 链接解码和获取数据

】在Ionic中以编程方式从Branch链接解码和获取数据【英文标题】:DecodeandgetdatafromBranchlinkprogrammaticallyinIonic【发布时间】:2021-05-1021:03:06【问题描述】:在我的Ionic5应用程序中,我试图为用户提供从任何地方复制Branch.io链接并将... 查看详情

以编程方式复制/克隆 SQL Server 数据库架构和一些数据

】以编程方式复制/克隆SQLServer数据库架构和一些数据【英文标题】:Copy/cloneSQLServerdatabaseschemaandsomedataprogrammatically【发布时间】:2017-03-3005:06:45【问题描述】:我正在开发一个可处理多家公司的销售点Windows窗体应用程序。当用... 查看详情

如何在 Android 中以编程方式将图像文件从图库复制到另一个文件夹

】如何在Android中以编程方式将图像文件从图库复制到另一个文件夹【英文标题】:HowtoCopyImageFilefromGallerytoanotherfolderprogrammaticallyinAndroid【发布时间】:2012-01-2916:04:12【问题描述】:我想从图库中挑选图像并将其复制到SDCard的其... 查看详情

如何在 C# 的线程中以编程方式复制 Excel 文件时修复访问拒绝错误

】如何在C#的线程中以编程方式复制Excel文件时修复访问拒绝错误【英文标题】:HowtofixaccessdenialerrorwhencopyinganexcelfileprogrammaticallywithinathreadinC#【发布时间】:2019-12-1518:15:07【问题描述】:我正在编写一个程序,它将一个excel文件... 查看详情

如何以编程方式区分 iPhone 和 iPhone(Retina 3.5 英寸)? [复制]

】如何以编程方式区分iPhone和iPhone(Retina3.5英寸)?[复制]【英文标题】:HowtodistinguishbetweeniPhoneandiPhone(Retina3.5inch)Programmatically?[duplicate]【发布时间】:2013-09-1705:14:15【问题描述】:通过检查设备的高度很容易检查设备是iPhone5还... 查看详情