我正在尝试使用特定给定路径上的今天日期创建一个新文件夹:
string LocalDirectory = Directory.CreateDirectory(
DateTime.Now.ToString("I:\\test\\final test\\snaps\\dd-MM-yyyy"));
但是我收到了这个错误:
无法将类型'System.IO.DirectoryInfo'隐式转换为'string'
答案 0 :(得分:3)
根据the documentation for Directory.CreateDirectory,CreateDirectory返回一个DirectoryInfo对象,而不是一个字符串。
这样做:
DirectoryInfo localDirectory = Directory.CreateDirectory(...
或者这个:
var localDirectory = Directory.CreateDirectory(...
(基本上会做同样的事情)
答案 1 :(得分:1)
代码可以写成:
String Todaysdate = DateTime.Now.ToString("dd-MMM-yyyy");
if(!Directory.Exists("I:\\test\\final test\\snaps\\" + Todaysdate)
{
Directory.CreateDirectory("I:\\test\\final test\\snaps\\" + Todaysdate);
}
答案 2 :(得分:0)
Directory.CreateDirectory
返回DirectoryInfo
非字符串
你可以尝试这样的事情
DirectoryInfo LocalDirectory = Directory.CreateDirectory(string.Format("I:\\test\\final test\\snaps\\{0}-{1}-{2}", DateTime.Now.Day, DateTime.Now.Month, DateTime.Now.Year));
将路径作为字符串
string strLocalDir = LocalDirectory.FullName;
答案 3 :(得分:0)
以下是创建以今天日期命名的新文件夹的最简单方法。
using System;
namespace CreateNewFolder
{
class Program
{
static void Main(string[] args)
{
string Todaysdate = DateTime.Now.ToString("-dd-MM-yyyy-(hh-mm-ss)");
{
Directory.CreateDirectory("c:/Top-Level Folder/Subfolder/Test" + Todaysdate);
}
}
}
}
新文件夹名称的输出:
<强> 试验02-05-2018-(02年11月5日) 强>
为了清楚起见,我将小时,分钟和秒钟放在一些括号内。 您可以取出日期的任何部分,仅返回要调用文件夹的时间/日期部分。如果您不想将其称为“Test-02-05-2018-(11-05-02)”,而只是将今天的日期作为名称;比如“02-05-2018”,然后从“CreateDirectory”行中删除“Test”,但在-Subfolder /和右引号之间留一个空格。像这样:
Directory.CreateDirectory("c:/Top-Level Folder/Subfolder/ " + Todaysdate);
请注意,我在日期参数之间添加了一个连字符。这只是日期的可视分隔符,您也可以使用“空格”作为分隔符。
我知道这个字符串大约有4年了,但也许这会帮助另一个新手刚开始用C# 享受和分享。
答案 4 :(得分:0)
考虑到文化
var rootOutputDir = @"I:\test\final test\snaps";
var Todaysdate = DateTime.Now.ToString(CultureInfo.CurrentUICulture.DateTimeFormat.ShortDatePattern.Replace("/", "-"));
Directory.CreateDirectory(Path.Combine(rootOutputDir, Todaysdate));
答案 5 :(得分:0)
string path = Server.MapPath(@"/Content/");
path = Path.Combine(path,DateTime.Now.ToString('ddmmyyyy'));
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
答案 6 :(得分:0)
我想创建年份文件夹,然后在年份文件夹中创建月份。 这是对我有用的东西:
public void CreateDirectory()
{
string strArchiveFolder = (@"\\fullpath" + DateTime.Now.Year.ToString() + "\\" +
DateTime.Now.Month.ToString());
if (!Directory.Exists(strArchiveFolder))
{
Directory.CreateDirectory(strArchiveFolder);
}