我想用C#编写简单的脚本。东西我通常会使用.bat或4NT .btm文件。复制文件,解析文本,询问用户输入等等。相当简单,但在批处理文件中正确使用这些东西确实很难(例如没有例外)。用C#编写批处理脚本的好方法是什么?
我熟悉命令行“脚本”封装像AxScript,以便让我成为那里的一部分。我所缺少的是简单的文件操作框架。我希望能够做到cd(“..”),复制(srcFile,destFile)类型的功能。
工具,我曾尝试:
NANT,这是我们在构建过程中使用。不是一个好的脚本工具。疯狂地详细说明XML语法并添加一个简单的函数,您必须编写一个扩展程序集。不能内联。
PowerShell。看起来不错,但我一直无法切换到这个作为我的主要外壳。与4NT差异太大。无论我做什么需要从普通的命令提示符运行,并且不需要特殊的shell来运行它。 PowerShell可以用作脚本执行器吗?
Perl/Python/Ruby。真的很讨厌学习一种全新的语言和框架来做批处理文件操作。一直没有能够奉献我需要这样做的时间。另外,我们是一个99%的.NET工具链商店,我真的想要利用我们现有的经验和代码库。
是否有框架试图解决“使用C#编写批处理文件”这个问题?
我希望C#/ .NET具有典型cmd.exe shell语言的即时模式类型功能。我是否只想要这样的事情?
你一定可以在PowerShell中执行脚本,它可以为你提供所有你需要的.NET Framework API。不幸的是,它确实有一个不平凡的学习曲线。 – Bruce 2009-05-30 18:31:44