使用System.IO.File.Move时自动创建文件夹

时间:2014-08-08 10:12:42

标签: c# wpf winforms move .net

我正在更新旧的winforms应用程序,该应用程序使用regex和System.IO.File.Move将文件移动到新位置

在Windows 7下,旧应用程序运行良好。如果文件夹不存在,File.Move会创建它

System.IO.File.Move("c:\stuff\a.txt","c:\stuff\a\file.txt");
System.IO.File.Move("c:\stuff\b.txt","c:\stuff\b\file.txt");
System.IO.File.Move("c:\stuff\c.txt","c:\stuff\c\file.txt");

但是,在Windows 8下,似乎我必须先在路径中手动创建每个文件夹。如果我尝试移动到一个尚不存在的文件夹,我会收到错误。有人知道解决这个问题吗?我宁愿不必创建每个文件夹

注意:新的,更新的应用程序是在WPF而不是winforms。不确定是否相关

1 个答案:

答案 0 :(得分:22)

File.Move()之前,你可以做到:

new System.IO.FileInfo("c:\\stuff\\a\\file.txt").Directory.Create();

以上将创建"东西"和" a"文件夹,如果他们不存在。