0
私たちはウェブサイトのオーバーホールに取り組んでいます。現在、記事、投稿などはサーバー上のファイルです。データベースのファイルの内容が必要になります。テストの間、定期的に新しいファイルの内容を取得する必要があります。ここで GetFiles中にファイルをスキップしたい
は、私は(私はちょうどarticleConvertedPathvar articlesConvertedPath = @"D:\articles\ArticlesConverted";
var articlesConvertedDir = new DirectoryInfo(articlesConvertedPath);
var articlesConvertedFiles = articlesConvertedDir.GetFiles();
var dirInfo = new DirectoryInfo(@"D:\articles);
var sqlConnectionString = ConfigurationManager.ConnectionStrings[dbSelected].ConnectionString;
var con = new SqlConnection(sqlConnectionString);
con.Open();
foreach (var currFile in dirInfo.GetFiles(".asp", SearchOption.TopDirectoryOnly))
{
if (!articlesConvertedFiles.Contains(currFile))
{
using (StreamReader sr = new StreamReader(currFile.FullName))
{
OutputTextBox.Text += currFile.Name.Replace(".asp", string.Empty) + "\r\n";
var articleText = sr.ReadToEnd()
.Replace("<!--#include file=\"../include/engine_article_header.asp\"-->", string.Empty)
.Replace("<!--#include file=\"../include/engine_article_footer.asp\"-->", string.Empty);
using (SqlCommand command = new SqlCommand("UpdateArticleContent", con))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@ArticleID", SqlDbType.VarChar).Value = currFile.Name.Replace(".asp", string.Empty);
command.Parameters.Add("@ArticleText", SqlDbType.VarChar).Value = articleText;
command.ExecuteNonQuery();
}
}
var copyFilePath = string.Format(@"D:\articles\ArticlesConverted\{0}", currFile.Name);
File.Copy(currFile.FullName, copyFilePath);
}
あなたは私が何をしようとしたことを見ることができます!articlesConvertedFiles.Contains(currFile)が含まれているものですが、プログラムはまだ持っているとして、それは本当にうまく動作しません。私たちがライブに行く前に使用していた開発ツールですので、コードはそれほど難しくありません。きれいに見える必要があります。
方法...ありがとう!
ありがとうございました!しかし何らかの理由で、foreach内の何かを決して叩くことはありません – ajtatum