我正在尝试从路径中获取最新文件并将其复制,然后将其粘贴到生成的文件夹中。
这是我到目前为止所尝试的:
// This Method is called if the function/method CopyContent is invoked by the user or a bound event.
// Return true, if this component has to be revalidated!
public bool OnCopyContent(int arg)
{
// Get latet file from the specificed Folder
var directory = new DirectoryInfo(@""+sourceFolderPath);
var myFile = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
// Newly Created Folder Name
string generatedFolderName = destinationFolderName;
// Newly Creted Folder Path (i.e C://Users/Desktop) Cretge it on desktop with name "Paste me here "
string generatedPathString = System.IO.Path.Combine(destinationFolderPath, generatedFolderName);
if (!File.Exists(generatedPathString))
System.IO.Directory.CreateDirectory(generatedPathString);
// Copy the Latet file to the newly Created Folder on the Desktop
string destFile = Path.Combine(@""+destinationFolderPath, myFile.Name);
File.Copy(myFile.FullName, destFile, true);
return false;
}
我想做的是
1:我有指定文件夹路径,我想根据时间复制它的最新文件
2:在桌面上创建名为“NewlyAdded”的新文件夹
3:将指定文件夹中的复制文件粘贴到新创建的文件夹
答案 0 :(得分:1)
现在我的问题是如何复制
简单地说:取文件名,然后将目标文件夹传递给字符串, 然后将file.FullName传递给Copy()方法并将其复制。 此代码经过测试和使用。
编辑:添加一行以生成文件夹(如果不存在),并将文件复制到该文件夹。
string newFolder = "NewlyAdded";
string path = System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
newFolder
);
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
var directory = new DirectoryInfo(@"Sourcd folder");
var myFile = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
string destFile = Path.Combine(path, myFile.Name);
System.IO.File.Copy(myFile.FullName, destFile, true);
如果存在,则作为最后一个参数的覆盖是否覆盖。
答案 1 :(得分:0)
查看文档,第一个参数是原始文件的路径......
https://msdn.microsoft.com/en-us/library/9706cfs5(v=vs.110).aspx
我试图复制它但是我现在不确定如何在
中传递它
您使用原始文件路径,而不是FileInfo本身!
像这样:
var directory = new DirectoryInfo(@"C:\");
FileInfo myFile = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
string filePath = myFile.FullName;
您使用此filePath变量,而不是您当前正在使用的FileInfo实例。
答案 2 :(得分:0)
使用二进制写入
在特定目录中写入该文件后可能会帮助您