问题描述
|
如何将所有源代码从单个c#项目提取到单个文件?最好不要通过复制粘贴?
解决方法
使用命令行非常简单的方法
for %f in (*.cs) do type %f >> result.txt
编辑:
带有递归和文件信息
for /R %f in (*.cs) do echo ----- %f ----- >> result.txt & type %f >> result.txt
, 只需从命令行将路径传递到解决方案目录即可。
class Program
{
static StringBuilder builder = new StringBuilder();
static void Main(string[] args)
{
if (args.Length == 0)
return;
string directory = args[0];
ProcessDirectories(directory);
// Save file here
}
static void ProcessDirectories(string root)
{
ProcessDirectory(new DirectoryInfo(root));
var subDirectories = Directory.GetDirectories(root);
if (subDirectories.Length == 0)
return;
foreach (var subDirectory in subDirectories)
{
ProcessDirectories(subDirectory);
}
}
static void ProcessDirectory(DirectoryInfo directory)
{
foreach (var file in directory.EnumerateFiles())
{
builder.AppendFormat(\"----- {0} -----\",file.FullName);
using (var reader = file.OpenText())
{
builder.AppendLine(reader.ReadToEnd());
}
}
}
}
希望能帮助到你!