删除文件夹下文件
我百度了下,
strPath = @strPath.Trim().ToString(); @strPath前边有一个@,是写错了,还是真有必要?
#region 直接删除指定目录下的所有文件及文件夹(保留目录)
///<summary>
///直接删除指定目录下的所有文件及文件夹(保留目录)
///</summary>
///<param name="strPath">文件夹路径</param>
///<returns>执行结果</returns>
public static bool DeleteDir(string strPath)
{
try
{
strPath = @strPath.Trim().ToString(); // 判断文件夹是否存在
if (System.IO.Directory.Exists(strPath))
{
// 获得文件夹数组
string[] strDirs = System.IO.Directory.GetDirectories(strPath); // 获得文件数组
string[] strFiles = System.IO.Directory.GetFiles(strPath); // 遍历所有子文件夹
foreach (string strFile in strFiles)
{
// 删除文件夹
System.IO.File.Delete(strFile);
}
// 遍历所有文件
foreach (string strdir in strDirs)
{
// 删除文件
System.IO.Directory.Delete(strdir, true);
}
}
// 成功
return true;
}
catch (Exception Exp) // 异常处理
{
// 异常信息
System.Diagnostics.Debug.Write(Exp.Message.ToString()); // 失败
return false;
}
}
#endregion
[解决办法]
加不加一样。
除非后面跟着""字符串表达式,或者关键字,需要转义,才有必要。
[解决办法]
strPath 类型后面再加个头string() 重复了
Exp.Message.ToString()
[解决办法]
strPath = @strPath.Trim().ToString();
这里 @ 不需要
strPath=@"c:\path1\path2"
这种情况要下,转义符 用的,
也可以写成 strPath="c:\\path1\\path2" \也是用来转义的