小智..
23
一个简单的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();
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());
}
}
}
要使用它,只需将source命令传递给程序,并提供要复制输出的任何文件的路径.例如:
dir | CopyToFiles files1.txt files2.txt
将显示dir的结果,并将结果存储在files1.txt和files2.txt中.
请注意,上面的错误处理方式并不多(任何事情!),实际上可能并不需要支持多个文件.
你不需要visual studio来编译它,命令行工具实际上是免费的.只是谷歌".net sdk下载"的链接(直接链接似乎改变,但谷歌总是似乎工作). (19认同)
Visual Studio Express也是免费的,但我仍然只是使用tee. (13认同)
cygwin很难安装.向你推荐,因为这是我正在寻找的. (7认同)
嗯,什么都不下载tee/cygwin或用我辛苦赚来的现金购买MSVS这样一个小小的节目?这是一个艰难的:-) (5认同)
本文介绍了一个简单的C#控制台程序,该程序能够接收来自控制台的输入,并将其同时输出到控制台及多个指定文件中。通过传递命令行参数,用户可以指定任意数量的目标文件。

被折叠的 条评论
为什么被折叠?



