Mini C# Lab 1.4 Release
6 | 12,754 |
The primary new feature of Ver 1.4 is batch mode!
Now you can run Mini C# Lab program as a scheduled task, no UI interactivity is needed. Here are some batch argument examples:
- Load and execute x:\temp\test.cs, use the output to overwrie x:\temp\log.txt
MiniCSharpLab /batch /cs:x:\temp\test.cs /out:x:\temp\log.txt /overwrite - Load and execute "c:\some path\test.cs", append the output to LogyyyyMMdd.txt (the file name will be change according to System.DateTime.Now)
MiniCSharpLab /batch /cs:""c:\some path\test.cs"" /out:Log{yyyyMMdd}.txt - Load and execute x:\aa.cs, append the output to x:\aa.txt, if execution time is longer than 1200 seconds, program will be terminated.
MiniCSharpLab /batch /cs:x:\aa.cs /out:x:\aa.txt /timeout:1200 - Load and execute x:\aa.vb as .NET 3.5 program, append the output to x:\aa.txt
MiniCSharpLab /batch /vb:x:\aa.vb /out:x:\aa.txt /v35
- Fix: Thread.Sleep for 0.5" after execution to avoid output loss (I hope it works)
- Add: Add execution duration display
【中文說明】
其實1.4版已經寫出來蠻久了,上回的黑暗盃程式魔人賽裡就已經偷跑過了。今天剛好跟同事提到要寫簡單的Script跑排程,索性一不做二不休,把它Release到CodePlex網站上,想參考程式的人也可以在CodePlex找到原始碼。
1.4版最大的特色是支援批次無UI的方式執行,這個之前網友Ammon也有提過,剛好也是我自己不少排程作業上的需求。執行參數如下:
- 載入並執行x:\temp\test.cs, 輸出結果覆寫到x:\temp\log.txt
MiniCSharpLab /batch /cs:x:\temp\test.cs /out:x:\temp\log.txt /overwrite - 載入並執行"c:\some path\test.cs", 輸入結果附加到LogyyyyMMdd.txt檔案後端(檔名會隨執行時間變化)
MiniCSharpLab /batch /cs:""c:\some path\test.cs"" /out:Log{yyyyMMdd}.txt - 載入並執行x:\aa.cs, 輸出結果附加到x:\aa.txt。若執行時間超過1200秒,會被強制中止
MiniCSharpLab /batch /cs:x:\aa.cs /out:x:\aa.txt /timeout:1200 - 載入x:\aa.vb,視為.NET 3.5程式執行,輸出結果附加到x:\aa.txt
MiniCSharpLab /batch /vb:x:\aa.vb /out:x:\aa.txt /v35
另外還有兩個小修改:
如發現Bug或有功能建議,歡迎在此留言回饋。(但不一定能即時修正或擴充,請見諒!)
Comments
# by Will 保哥
幾點建議: 1. 我覺得應該有個直接輸出到 Console 的選項,不一定要輸出到檔案,這樣就可以做為 CSharp Script Interpreter 來用! ^^ 2. 加上文字說明的 MiniCSharpLab14.exe /? 選項,可顯示指令列參數的說明。 3. 輸出檔案的地方每次都會有以下資訊,不知道可否提供選項排除這些資訊在檔案中出現。 ************************************************** [Mini C# Lab Batch Mode] 2010/03/07 16:02:14 Built successfully in 118ms! Prepare to run... ==================================================
# by S
Bug report 不知道是 Bug 還是操作有誤 1. 開啟 Mini C# Lab 1.4 2. 選擇 Copy as HTML 3. 勾選 Embed Css 4. 選擇 Copy 或 Copy & Close 5. 出現 Exception 畫面 訊息如下 System.ArgumentNullException: 值不能為 null。 參數名稱: stream 於 System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) 於 System.IO.StreamReader..ctor(Stream stream) 於 Manoli.Utils.CSharpFormat.SourceFormat.GetCssString() 於 C:\Users\jeffrey\Documents\Visual Studio 2008\Projects\MiniCSharpLab\MiniCSharpLab\Formatter\SourceFormat.cs: 行 150 於 Manoli.Utils.CSharpFormat.SourceFormat.FormatCode(String source, Boolean lineNumbers, Boolean alternate, Boolean embedStyleSheet, Boolean subCode) 於 C:\Users\jeffrey\Documents\Visual Studio 2008\Projects\MiniCSharpLab\MiniCSharpLab\Formatter\SourceFormat.cs: 行 193 於 Manoli.Utils.CSharpFormat.SourceFormat.FormatCode(String source) 於 C:\Users\jeffrey\Documents\Visual Studio 2008\Projects\MiniCSharpLab\MiniCSharpLab\Formatter\SourceFormat.cs: 行 126 於 MiniCSharpLab.FormatCodeHtml.btnCopy_Click(Object sender, EventArgs e) 於 C:\Users\jeffrey\Documents\Visual Studio 2008\Projects\MiniCSharpLab\MiniCSharpLab\FormatCodeHtml.cs: 行 78 於 MiniCSharpLab.FormatCodeHtml.btnClose_Click(Object sender, EventArgs e) 於 C:\Users\jeffrey\Documents\Visual Studio 2008\Projects\MiniCSharpLab\MiniCSharpLab\FormatCodeHtml.cs: 行 89 於 System.Windows.Forms.Control.OnClick(EventArgs e) 於 System.Windows.Forms.Button.OnClick(EventArgs e) 於 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 於 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 於 System.Windows.Forms.Control.WndProc(Message& m) 於 System.Windows.Forms.ButtonBase.WndProc(Message& m) 於 System.Windows.Forms.Button.WndProc(Message& m) 於 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 於 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 於 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
# by Johnny
版本是 1.4, About 寫的卻是 1.3
# by Terry
建議可以加上傳入自定參數的處理,這樣就可以先一步取代Batch
# by dw4dev
黑大您好: 感謝您無私分享這好工具,但因為 CodePlex 即將關站, 所以小弟就將您分享的 CODE 先放上 GitHub 中, 必免這優良工具消失無形 ^^ ,https://github.com/dw4dev/Mini-CSharp-Lab。 若您有覺得不妥或是有侵犯到您,再請來信告知。 謝謝您。
# by Jeffrey
to dw4dev, OK的,這個專案是很早期的作品,已荒廢多年(後來多改用LINQPad),很高興還有人觀注並願意維護~ :P