Я хотел бы написать простые скрипты в С#. Я обычно использовал файлы .bat или 4NT.btm. Копирование файлов, разбор текста, запрос пользователя и т.д. Довольно просто, но делать это прямо в пакетном файле очень сложно (например, исключений нет).
Я знаком с командной строкой "scripting" wrappers, такой как AxScript, так что я получаю часть этого пути. То, что мне не хватает, - это простая структура манипулирования файлами. Я хочу иметь возможность создавать функции cd ( ".." ), copy (srcFile, destFile).
Инструменты, которые я пробовал:
-
NANT, который мы используем в нашем процессе сборки. Не хороший инструмент для написания сценариев. Безумно подробный синтаксис XML и для добавления простой функции вы должны написать сборку расширения. Не могу сделать это inline.
-
PowerShell. Выглядит отлично, но я просто не мог переключиться на это как на свою основную оболочку. Слишком много отличий от 4NT. Независимо от того, что мне нужно, нужно запускать из обычной командной строки и не требовать специальной оболочки для ее запуска. Может ли PowerShell использоваться как исполнитель script?
-
Perl/Python/Ruby. На самом деле ненавижу изучать совершенно новый язык и структуру только для выполнения операций пакетного файла. Не смогли посвятить время, которое мне нужно для этого. Кроме того, мы являемся 99-процентным .NET-магазином для нашей инструментальной цепочки, и я очень хочу использовать наш существующий опыт и кодовую базу.
Существуют ли там фреймворки, которые пытаются решить эту проблему "сделать пакетный файл в С#", который вы использовали?
Я хочу мощь С#/.NET с функциональностью типа немедленного типа типичного языка оболочки cmd.exe. Я один, кто хочет чего-то подобного?