Простое консольное приложение C # выполнило бы трюк:
using System;
using System.Collections.Generic;
using System.IO;
namespace CopyToFiles
{
class Program
{
static void Main(string[] args)
{
var buffer = new char[100];
var outputs = new List<TextWriter>();
foreach (var file in args)
outputs.Add(new StreamWriter(file));
outputs.Add(Console.Out);
int bytesRead;
do
{
bytesRead = Console.In.ReadBlock(buffer, 0, buffer.Length);
outputs.ForEach(o => o.Write(buffer, 0, bytesRead));
} while (bytesRead == buffer.Length);
outputs.ForEach(o => o.Close());
}
}
}
Чтобы использовать это, вы просто передаете исходную команду в программу и указываете путь к любым файлам, для которых вы хотите дублировать вывод. Например:
dir | CopyToFiles files1.txt files2.txt
Отобразит результаты поиска, а также сохранит результаты как в файлах file1.txt, так и в файлах2.txt.
Обратите внимание, что не так много ( что-нибудь!) на пути обработки ошибок выше, и поддержка нескольких файлов может фактически не потребоваться.