如何通过将.cs文件作为脚本执行来避免编写.bat文件?

时间:2012-02-07 16:53:19

标签: .net batch-file dos

我想编写一个简单的批处理文件来复制几个文件。

但是,我厌倦了批处理文件,因为它们是如此限制,我想写一个简单的.cs文件,我可以直接从命令行执行脚本。

如何从命令行运行“.cs”文件,让它运行一个脚本?

7 个答案:

答案 0 :(得分:5)

除非你编译它,否则你不能。但是,PowerShell具有与C#类似的语法,并且非常强大。

答案 1 :(得分:4)

您需要将其编译为可执行文件,然后运行此可执行文件。

也许你可以写一个批处理文件来实现这个目标吗?


更严重的是,请看看作为替代方案的Powershell,如scottm的答案所提到的那样(我已经相应地加上了)。

答案 2 :(得分:1)

Microsoft Roslyn允许您从命令行执行C#文件,就像批处理文件,PowerShell,Python等一样。

步骤1:安装Roslyn,创建一个新的控制台应用,然后使用以下行执行脚本:

scriptEngine.ExecuteFile("DemoClass.cs");

scriptEngine.ExecuteFile("DemoScript.csx");

第2步:关联" .csx"使用已编译的控制台应用程序的文件,它们将像编译到Visual Studio项目中一样执行。

现在我再也不用在我的生活中编写DOS批处理文件了。

<强>更新

答案 3 :(得分:1)

请参阅http://www.csscript.net/,如果安装它,您可以像DOS批处理文件一样运行简单的.cs文件(即无需将它们编译到项目中)。

答案 4 :(得分:0)

您可以在命令提示符下查看如何编译程序。使用此技术,您可以输入.cs文件,编译.exe,然后运行.exe。

http://msdn.microsoft.com/en-us/library/ms172492%28v=vs.80%29.aspx

然而,这似乎有点麻烦。在命令行项目中启动Visual Studio并快速输入代码有什么问题?

答案 5 :(得分:0)

试试这个。 http://www.sliver.com/dotnet/SnippetCompiler/ 我不完全确定这是你所追求的。

答案 6 :(得分:0)

    $Source = (gc csharpfilename.cs|Out-String)
    #compile Csharp
    Add-Type -TypeDefinition $Source -Language CSharp

    #Call you function like this
    [namespaceName.className]::functionName("Parameters/Arguments")