File.Copy(@"my program\\subfolder\\what i want to copy.txt", "C:\\Targetlocation");
如何使用相对路径将文本文件从一个文件夹复制到另一个文件夹。
答案 0 :(得分:1)
要执行File.Copy
,源和目标将是有效的文件路径。在您的情况下,目标是文件夹而不是文件。在这种情况下,您可能会遇到
找不到路径“ F:\ New文件夹”的一部分
在执行应用程序时,当前目录将是bin
文件夹。您需要从此处指定相对路径。假设my program/subfolder
是您解决方案中的文件夹,那么此代码将如下所示:
string sourcePath = "../../my program/subfolder/what i want to copy.txt";
string destinationPath = @"C:\Targetlocation\copyFile.txt"
File.Copy(sourcePath, destinationPath );
../
会帮助您从当前目录后退一步。您还需要注意的另一件事是File.Copy
方法中的第三个可选参数。通过为此参数传递true
可以帮助您覆盖现有文件的内容。还请确保文件夹C:\Targetlocation
存在,因为这不会为您创建文件夹。
答案 1 :(得分:0)
File.Copy(@"subfolder\\what i want to copy.txt", "C:\\Targetlocation\\TargetFilePath.txt");
sourceFileName和destFileName参数可以指定相对或 绝对路径信息。相对路径信息解释为 相对于当前工作目录。此方法不 参数中支持通配符。
确保目标目录存在。您可以使用Directory.CreateDirectory
Directory.CreateDirectory("C:\\Targetlocation");
使用Directory.CreateDirectory()
,您不必检查目录是否存在。来自文档:
创建任何路径中指定的所有目录,除非它们 已经存在或除非路径的一部分无效。路径 参数指定目录路径,而不是文件路径。如果 目录已经存在,此方法无效。
答案 2 :(得分:0)
// Remove path from the file name.
string fName = f.Substring(sourceDir.Length + 1);
try
{
// Will not overwrite if the destination file already exists.
File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName));
}
答案 3 :(得分:0)
您可以提供当前工作目录中的相对路径,可以通过Environment.CurrentDirectoy进行检查。
例如,如果当前工作目录为D:\ App,源文件位置为D:\ App \ Res \ Source.txt,目标位置为D:\ App \ Res \ Test \ target.txt,则您的代码段将是-
File.Copy(Res\\Source.txt, Res\\Test\\target.txt);