Справочная информация: я разрабатываю приложение WinForms с использованием C # с OpenFileDialog & FileBrowserDialog, которое будет 1) искать определенную строку в именах файлов указанного исходного каталога 2) копировать файлы в консолидированный каталог 3) преобразовывать несколько файлов из Excelв CSV-файлы, а затем 3) преобразовать все сгенерированные CSV-файлы в 1 большой CSV-файл, используя исполняемый файл командной строки
Пример: MSDN предоставляет пример кода, в котором перечислены все каталоги и файлы, начинающиеся с буквы«с» в «с: \».на http://msdn.microsoft.com/en-us/library/ms143448.aspx, поэтому я основал свой код на этом ...
Проблема: Код не копирует файлы в консолидированную папку, поэтому я почти уверен, что поиск не работает.
Что я должен изменить здесь?Это не работает:
string files = "*.xlsx";
void DirSearch(string sDir)
{
try
{
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string f in Directory.GetFiles(d, files))
{
// Is this the file we are looking for?
// check excel files for corp name in the filename.
if (f.Contains(m_sc.get_Corp()))
{
// check if thread is cancelled
if (m_EventStop.WaitOne(0, true))
{
// clean-up operations may be placed here
// ...
// inform main thread that this thread stopped
m_EventStopped.Set();
return;
}
else
{
string path = sDir;
string searchPattern = m_sc.get_Corp();
// A file has been found in this directory
DirectoryInfo di = new DirectoryInfo(path);
DirectoryInfo[] directories = di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly);
foreach (FileInfo file in files)
{
try
{
// Copy each selected xlsx files into the specified TargetFolder
System.IO.File.Copy(FileName, consolidatedFolder + @"\" + System.IO.Path.GetFileName(FileName));
Log("File" + FileName + " has been copied to " + consolidatedFolder + @"\" + System.IO.Path.GetFileName(sourceFileOpenFileDialog.FileName));
// Convert each selected XLSX File to CSV Using the command prompt code...
}
}
}
}