问题遇到的现象和发生背景
我获取到了文件夹下所有的文件 但是截取不到指定位数
用代码块功能插入代码,请勿粘贴截图
public static FileInfo[] GetAllFiles(string path)
{
try
{
var files = new List<FileInfo>();
files.AddRange(new DirectoryInfo(path).GetFiles());//获取文件夹下所有文件
var tmpdics = new DirectoryInfo(path).GetDirectories();//获取文件夹下所有子文件夹
foreach (var dic in tmpdics)
{
files.AddRange(GetAllFiles(dic.FullName));//递归获取文件
}
return files.ToArray();
}
catch (Exception)
{
return null;
}
}
调用:
public int UpEditPDFileName(string Vin)
{
var files = GetAllFiles(@"D:\BackPDF");
foreach (var item in files.ToString().Substring(0,18))
{
using (DataContext dataContext = new DataContext())
{
IDbTransaction tr = dataContext.BeginTransaction();
StringBuilder sb = new StringBuilder();
sb.AppendFormat(" UPDATE table SET PrintFileName='{0}' WHERE vin='{1}';",files.ToString(),Vin);
IDbExecutor executor = dataContext.CreateExecutor(sb.ToString());
int i = executor.ExecuteNonQuery(null);
if (i > 0)
{
tr.Commit();
}
else
{
tr.Rollback();
}
}
}
return 1;
}
这是我获取的文件格式:
运行结果及报错内容
获取的结果不是我想要的
我的解答思路和尝试过的方法
我使用递归进行获取文件的
我想要达到的结果
获取指定文件夹下所有的文件前面18位数 并更新数据库中的指定字段信息