C# &引用;给定路径';不支持s格式";尝试基于当前时间创建文件时

C# &引用;给定路径';不支持s格式";尝试基于当前时间创建文件时,c#,io,filenames,streamwriter,C#,Io,Filenames,Streamwriter,有没有办法用变量名保存文件 例如,我有此代码,但在StreamWriter中出错: string hour = DateTime.Now.ToString("HH:mm:ss"); string date = DateTime.Now.ToShortDateString(); string filename = "Numbers " + date + " " + hours+ ".txt"; string path = @"C:\ShowMySms\" + filename; using (S

有没有办法用变量名保存文件

例如,我有此代码,但在
StreamWriter
中出错:

string hour = DateTime.Now.ToString("HH:mm:ss");
string date = DateTime.Now.ToShortDateString();
string filename = "Numbers " + date + " " + hours+ ".txt";
string path = @"C:\ShowMySms\" + filename;

using (System.IO.StreamWriter file = new System.IO.StreamWriter(path, true)) {
    file.WriteLine("test");
}
我也试过使用

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\ShowMySms\" + filename, true))
但这两种方式都给了我一个错误

我是否可以使用
StreamWriter
以不同的格式导出文件

提前谢谢你

编辑:错误是

不支持给定路径的格式

我试过了

Path.Combine(path, filename);

并将路径放入
StreamWriter
中,但仍会出现相同的错误…

尝试使用此格式:

string filename = string.Format("Numbers_yyyyMMdd_HHmmss.txt", date);
这将为您提供如下文件名

Numbers_20131118_155410.txt

文件名中不包含“危险”和非法字符(如
)。

您也可以尝试下面的代码片段

string filename = "Numbers" + DateTime.Now.ToString("dd-MM-yyyy_HHmmss")+ ".txt";
输出:

Numbers06-02-2018_122446.txt

如果你得到一个错误-请张贴完整和准确的错误详细信息在这里!我们看不到你的屏幕,也看不到你的心思,你需要在这里提供这些细节,通过发布它们!您不能在文件名中使用冒号(
),异常可能已经告诉您了。例如,用点替换它们。我发布了错误。。。你是说驱动器号后面的:in“C:\”?@JoãoSilva是少数允许
的地方之一--
C:\…
。但是,它们以后不能在目录或文件自身名称的路径中使用--
.ToString(“HH:mm:ss”)
。鉴于我之前的评论“您不能在文件名中使用冒号(
)以及您的回答“路径名为[…]14:52:15.txt”,你现在看到问题了吗?请注意:人们现在谈论的是时间,而不是在“C:\”中。。。非常感谢。