Содержимое нескольких файлов в один txt файл

1 23
netzoom
На сайте с 15.06.2007
Offline
112
#21

не сдержался😂

легкое обновление кода (версия N3):

using System;
using System.Diagnostics;
using System.IO;

namespace SearchenginesGuru
{

class HakunaMatata // special for ))
{
static void Main(string[] args)
{
Stopwatch stopWatch = Stopwatch.StartNew();
stopWatch.Start();

string writePath = @"C:\csharp\A.txt"; // Исходный файл (вносить изменение только в эти две строчки
string dirPath = @"C:\csharp\File2"; // Массив файлов (каталог данных)

FileInfo fileInfo = new FileInfo(writePath);
string text = "";
Console.WriteLine(new string('-', 15));
Console.WriteLine("Массив текстовых файлов:");

string[] files = Directory.GetFiles(dirPath);

foreach (string f in files)
{
Console.WriteLine(f);
}

try
{
string[] readPath = Directory.GetFiles(dirPath); //так лучше, сюда можно загнать сколько угодно файлов

for (int i = 0; i < readPath.Length; i++)
{
using (StreamReader sr = new StreamReader(readPath, System.Text.Encoding.Default))
{
text = sr.ReadToEnd();
}
using (StreamWriter sw = new StreamWriter(writePath, true, System.Text.Encoding.Default))
{
sw.WriteLine(text);
}
}
Console.WriteLine(new string('-', 15));
Console.WriteLine($"Тексты записаны в файл: {writePath} \nРазмер файла: {fileInfo.Length} байт ");
Console.WriteLine(new string('-', 15));

stopWatch.Stop();

Console.WriteLine($"Время работы программы: {stopWatch.Elapsed.TotalSeconds} секунд");
Console.WriteLine(new string('-', 15));
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("Hakuna Matata шеф"); // ))

}

catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadKey();
}
}
}

все обещаю - больше не буду)

png ConsoleApp.png
OR
На сайте с 12.05.2014
Offline
62
#22

netzoom, что делает данная программа? Где можно посмотреть помощь? Ф1 нажимал - не помогло!

HM
На сайте с 14.01.2012
Offline
223
#23

Nickolay365,

I
На сайте с 14.10.2008
Offline
190
#24

Раз такое дело тоже спалю тему, делаешь батник с таким содержанием

COPY *.TXT ALL.XXX
RENAME ALL.XXX ALL.TXT

кидаешь батник в папку, где надо объединить текст файлы, два клика по батнику и всё готово.

p/s В принципе так можно любые файлы соединять, здесь - COPY *.TXT меняешь на COPY *.ваше расширение файлов которые надо соеденить, типа COPY *.HTML

📝 Нейро Тексты для сайтов, быстро, дешево и качественно 👉 https://bit.ly/xgptwriter 👈 | ►►► ✔100% загон в индекс ГУГЛА — Быстро и Недорого 👉 https://bit.ly/Link_index 💡 Проверено лично 2024 👍
master_jeday
На сайте с 15.05.2010
Offline
231
#25

А слабо запилить прогу, чтоб из названия файла категория.txt добавляла в конец каждой строки этого файла ";категория"?

строка 1;категория

строка 2;категория

строка 3;категория

Дорвеи на заказ с гарантией трафика ( /ru/forum/993918 ) >>> Осторожно, в телеге/скайпе есть клоны! Проверяйте, что общаетесь именно со мной через личку!
netzoom
На сайте с 15.06.2007
Offline
112
#26
А слабо запилить прогу, чтоб из назв

.................

png LineHakunaMatata.png
netzoom
На сайте с 15.06.2007
Offline
112
#27
master_jeday:
А слабо запилить прогу, чтоб из названия файла категория.txt добавляла в конец каждой строки этого файла ";категория"?
строка 1;категория
строка 2;категория
строка 3;категория

исходник:


using System;
using System.IO;

namespace SearchenginesGuru
{

class HakunaMatata // special for ))
{
static void Main(string[] args)
{
string readPath = @"c:\csharp\A.txt"; //исходник (остается без изменений)
string writePath = @"c:\csharp\A2.txt"; //программа сама создаст новый файл (сюда все запишется)
string line;
string lineEnd = Path.GetFileNameWithoutExtension(readPath);
string lineMiddle = ";";
// File.Create(@"c:\csharp\A2.txt");

try
{
using (StreamReader sr = new StreamReader(readPath, System.Text.Encoding.UTF8))
{

while ((line = sr.ReadLine()) != null)
{
// Console.WriteLine($"{ line};{Path.GetFileNameWithoutExtension(readPath)}");
using (StreamWriter sw = new StreamWriter(writePath, true, System.Text.Encoding.Default))

{
sw.WriteLine($"{line}{lineMiddle}{lineEnd}");
}

}
Console.WriteLine("Готово!");
}
}

catch (Exception e)
{
Console.WriteLine(e.Message);
}

Console.ReadKey();
}
}
}

было:


Текст 11A
Текст 22A
Текст 33A
Текст 44A

стало:

Текст 11A;A
Текст 22A;A
Текст 33A;A
Текст 44A;A
png 181582.png
master_jeday
На сайте с 15.05.2010
Offline
231
#28

Спасибо. А через что запускать? Я так понимаю, обычная консоль опен сервера не подойдет? И вместо указания одного файла, папку бы, где лежат txt файлы - было бы вообще идеально )

netzoom
На сайте с 15.06.2007
Offline
112
#29
master_jeday:
Спасибо. А через что запускать? Я так понимаю, обычная консоль опен сервера не подойдет?

Спасибо вам!:) Программа написана на c#. Запускать в microsoft visual studio 2017 community, он бесплатный, прога написана на нем. Там все просто, загружаете, устанавливаете, создаете новое консольное приложение, копируете код отсюда и вставляете вместо готового сгенерированного кода по умолчанию, жмете на кнопку пуск - получаете удовольствие😂

---------- Добавлено 17.02.2019 в 21:31 ----------

master_jeday:
И вместо указания одного файла, папку бы, где лежат txt файлы - было бы вообще идеально )

незнаю, надо подумать🤣

netzoom
На сайте с 15.06.2007
Offline
112
#30
master_jeday:
И вместо указания одного файла, папку бы, где лежат txt файлы - было бы вообще идеально )

Обновление.

Генерируем всю пачку файлов - в один текст файл:


using System;
using System.IO;
using System.Text;

namespace ConsoleApp11
{
class Program
{
static void Main(string[] args)
{
string dirPath = @"c:\csharp\File4\"; // исходники B.txt,C.txt,D.txt,E.txt ... эти файлы есть в начале темы

string folderName = @"c:\csharp\Top-Level Folder"; //путь и название папки можно изменить

string pathString = Path.Combine(folderName, "SubFolder"); //SubFolder - можете переименовать.

Directory.CreateDirectory(pathString);

string fileName = Path.GetRandomFileName(); //имена и расширения генерируются рандомно (совпадения исключены)

pathString = Path.Combine(pathString, fileName);

Console.WriteLine("Путь к созданному файлу: {0}\n", pathString);

string line = null;

try
{
string[] readPath = Directory.GetFiles(dirPath);

for (int i = 0; i < readPath.Length; i++)
{
using (StreamReader sr = new StreamReader(readPath, Encoding.Default))
{
while ((line = sr.ReadLine()) != null)
{
using (StreamWriter sw = new StreamWriter(pathString, true, Encoding.Default))
{
string lineMiddle = ";";
string lineEnd = Path.GetFileNameWithoutExtension(readPath);
sw.WriteLine($"{line}{lineMiddle}{lineEnd}");
}

}

}

}

}

catch (Exception e)
{
Console.WriteLine(e.Message);
}

Console.ReadKey();
}
}
}
png 181699.png
1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий