C#新建文件夹,并给它命名当前时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#新建文件夹,并给它命名当前时间相关的知识,希望对你有一定的参考价值。

在指定位置下创建一个文件夹,并给它用当前时间命名,希望能给出程序来,新手初学啊
例如我需要在我要在FTP服务器建一个文件夹,配置文件的路径是 <add key="DBPath" value="ftp://******************"/>(*号是隐私内容)
以下代码怎么写,对不对
System.DateTime currentTime = new System.DateTime();
currentTime = System.DateTime.Now;
// string path = ;(这里不会写)我要在FTP服务器建立
string path=ConfigurationManager.AppSettings["DBPath"];
Directory.CreateDirectory(path + @"\" + currentTime.ToString());
提示我不支持给定路径的格式

C#使用Directory.CreateDirectory函数创建文件夹,使用DateTime.Now得到当前时间,因为文件夹的命名规则中不允许出现冒号等特殊符号,可以把时间格式化成纯数字格式,使用

DateTime.Now.ToString("yyyyMMddHHmmss")意思为把2015-12-28 10:30:01这样的时间转换为20151228103001这样的格式表示,代码如下所示:

/// <summary>
/// 创建当前时间为名称的目录
/// </summary>
/// <param name="root">创建目录的位置</param>
void Test(string root)

    Directory.CreateDirectory(root + "\\\\" + DateTime.Now.ToString("yyyyMMddHHmmss"));


Directory.CreateDirectory 方法
按照 path 的指定创建所有目录和子目录。
Namespace:  System.IO
语法
public static DirectoryInfo CreateDirectory(
    string path
)
参数
path类型: System.String
要创建的目录路径。
返回值
类型: System.IO.DirectoryInfo
由 path 指定的 DirectoryInfo。

参考技术A //调用示例:CreateTimeFolder ("C:\\");
//Path为要创建的文件夹的上一层文件夹
private void CreateTimeFolder(string Path)

System.IO.Directory.CreateDirectory(Path + System.DateTime.Now.ToString ("yyyy-MM-dd HH:m:ss"));

------------------
为什么不看我的代码?我的是测试过的。他们的之所以不支持此格式 是因为有冒号,我的冒号是中文的。追问

谢谢你的回答,有几个疑问。
1、你这是定义了一个类是吗?我复制之后提示void不正确应输入struct、class等等,不知道为什么
2、能看下我的问题补充吗,要在FTP服务器建一个
3、("yyyy-MM-dd HH:m:ss)是什么意思,日期格式是吗?

追答

直接q联系

追问

QQ718873632

本回答被提问者和网友采纳
参考技术B SYSTEMTIME mTime;

GetLocalTime(&mTime);//得到当前时间

CString path;

path.Format("D:\\%02d-%02d-%02d-%02d-%02d-%02d",mTime.wYear,mTime.wMonth,mTime.wDay);

//CreateDirectory(path,NULL);

if(CreateDirectory(path,NULL)) //创建文件夹



CFile f(path+"\\新件文件.txt",CFile::modeCreate); //创建文件

//Sleep(1000); //延迟一秒

追问

第一个问题,这是C#吗,怎么看着像C++啊
第二个问题,我现在会怎么得到当前时间
System.DateTime currentTime = new System.DateTime();
currentTime = System.DateTime.Now;
但是不会把这个时间给string path命名。最好把string path=@“ ”;怎么写说下,万分感谢

参考技术C //得到当前时间
GetLocalTime(&mTime);
参考技术D string path(表示路径)
DateTime dt = DateTime.Now;
CreateDirectory(path + @"\" + dt.ToString())追问

表示路径怎么写的

追答

string path = @"C:\Program Files",就是这样的路径

C# 对类型组件的引用声称它在系统中定义,但未找到

【中文标题】C# 对类型组件的引用声称它在系统中定义,但未找到【英文标题】:C# reference to type component claims it is defined in system, but it is not found 【发布时间】:2017-05-09 18:18:09 【问题描述】:

我正在开发一个应用程序(空白解决方案)来读取、写入和编辑 access 数据库文件中的数据。

我创建了一个 OleDbConnection 对象并给它一个在另一个控制台应用程序解决方案中工作的连接字符串。

但是,当我打开或关闭连接时,我得到了错误 “Cs7069 引用类型组件声称它在系统中定义,但未找到”

  OleDbConnection a = new OleDbConnection();
//given connection string
a.Open();
a.Close();

当我调用 Open() 和 Close() 方法时出现错误。错误发生在编译时而不是运行时。 [视觉工作室 2015]

我试过了: 重建解决方案 更改各种参考 清理然后重建解决方案

注意:我的解决方案中只有一个项目

请帮忙, 谢谢

【问题讨论】:

C# 不区分大小写。这是Open()Close()... @MatíasFidemraizer 一定是错字,编译时错误不会给你在 OP 中显示的消息。顺便说一句,双重否定是怎么回事?简单地说c#区分大小写不是更容易吗?实际上,我必须阅读两次以确保您说的是对的;) @InBetween 复仇! ;D @user6019827 好的,你应该提供可以编译的sn-ps! 在手机上提问几乎总是一个坏主意,因为您无法像在笔记本电脑/台式机上一样检查它。请记住,Stack Overflow 的目的是创建一个高质量问题和答案的存储库 - 提出一个好问题需要时间,最好在正确的设备上完成。 【参考方案1】:

让我做一些猜测。

您正在构建 UWP 应用吗?如果是这样,你就不能使用 OleDbConnection,只有这个.NET subset 适合你。

如果不是并且您的应用不是 UWP,那么您能否通过创建空控制台项目、将 System.Data 添加到引用并创建最小程序来重现错误,例如:

class Program

    static void Main(string[] args)
    
        using (var connection = new System.Data.OleDb.OleDbConnectionConnectionString = ".. your connection string ..")
        
            connection.Open();

            Console.WriteLine("DataSource: 0, database: 1",connection.DataSource, connection.Database);
                 
    

最后也是最不可能的,这个错误也可能是由于您有多个名称模仿 System.Data 的程序集,但我敢打赌这不是您的情况。

【讨论】:

我认为解决这个问题的尝试很糟糕。您的推理也可以应用于可移植库,甚至是旧的 Compact Framework!或者 Xamarin... 或者.... 或者... 我会放弃这个答案,如果 OP 正在使用 UWP... 这是我的最佳猜测,因为 OP 正在开发银行应用程序(如此移动,嵌入的可能性较小)。让我们拭目以待 OP 的答案 如果你在正确的轨道上,我觉得 OP 应该用 [uwp] 标记问题... 是的,它是一个 UWP 应用。如果是这种情况,我可以使用什么来处理 Microsoft Office 程序? 在控制台应用程序和表单应用程序中:一切正常

以上是关于C#新建文件夹,并给它命名当前时间的主要内容,如果未能解决你的问题,请参考以下文章

bat 获得当前时间然后重命名一个文件

用c#做的一个目录树(可新建删除重命名)

Visual Studio 2013环境搭建与基本结构

c# 如何判断textBox.Text内容是不是符合文件或者文件夹命名规则?

重命名没有正确分配名称的文件

c#生成dll文件并调用