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

ror*_*yok 9 .net c# wpf move winforms

我正在更新一个旧的winforms应用程序,它使用正则表达式和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");
Run Code Online (Sandbox Code Playgroud)

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

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

小智 25

在你之前File.Move()你能做到:

new System.IO.FileInfo("c:\\stuff\\a\\file.txt").Directory.Create();
Run Code Online (Sandbox Code Playgroud)

如果它们不存在,上面将创建"stuff"和"a"文件夹.