我现在有一个运行了很长的步骤列表,例如C#程序:C#解决方案系统的命令列表
- 副本的文件从这里到那里 即: 的foreach(文件列表) File.Copy()
- 创建一批目录的 的foreach(目录列表) Directory.Create
- 循环进入目录的列表,并创建一个文件。 的foreach(在列表目录) File.Create()
- 取得文件的列表知道,更换内 的foreach(文件列表) 执行( “REPLACE.EXE”,文本1,文本2)
等
我所做的就是把所有这些步骤,并创建一批在C#是做那些步骤的方法。这样做的好处是,我可以检查每个运行的命令,记录任何问题等。它的缺点是,它是硬编码的。
我想(我需要)将这些步骤从代码中移出,如在配置文件或xml文件中,然后逐个读取命令并在c#中运行它们。通过这种方式,我仍然可以检查返回错误,创建日志等,但我没有实际的列表和命令硬编码。
我不想使用脚本(如Perl或批处理),因为我希望能够监视我所做的一些步骤。换句话说,我真的想在c#程序中保留实际的执行,但是程序由我提供给它的配置文件指导。
xml非常灵活,但我不确定我可以用它做所有事情。例如 我怎么变成XML是这样的:
list1 = {file1, file2};
list2 = {dir1,dir2,dir3};
foreach (file in list1)
File.Copy(file,dir2\\file);
File.Copy(file,dir3\\file);
什么我可以/应该使用来实现这一目标的任何想法?
感谢 托尼
考虑使用PowerShell的呢? – 2011-04-06 16:49:00
我还没有想过,但这将是一个外部过程(我认为)。我老实说从来没有使用过PowerShell,所以我不知道这对我有什么帮助。 Tony – tony 2011-04-07 21:37:12
PowerShell可以作为外部进程启动,也可以从其他进程托管。例如,SQL Server Management Studio中允许在树视图中,您可以右键单击一个节点,并启动PowerShell的与该节点作为当前项目运行。 – 2011-04-07 21:46:49