HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 07.11.2010, 18:15
Unknown
Новичок
Регистрация: 21.06.2005
Сообщений: 1
С нами: 10992741

Репутация: 0
По умолчанию

Маленькая забавность о том, как использовать все возможности dotNet в обычных bat-скриптах. Или сделать скриптовый язык из С#.

Далее рассказан простой способ скомпилировать и запустить код С#, который находится внутри bat-файла.

Не буду долго томить:

Цитата:
Сообщение от None  
/*
@echo off && cls
set WinDirNet=%WinDir%\Microsoft.NET\Framework
IF EXIST "%WinDirNet%\v2.0.50727\csc.exe" set csc="%WinDirNet%\v2.0.50727\csc.exe"
IF EXIST "%WinDirNet%\v3.5\csc.exe" set csc="%WinDirNet%\v3.5\csc.exe"
IF EXIST "%WinDirNet%\v4.0.30319\csc.exe" set csc="%WinDirNet%\v4.0.30319\csc.exe"
%csc% /nologo /out:"%~0.exe" %0
"%~0.exe"
del "%~0.exe"
exit
*/
class HelloWorld
{
static void Main()
{
System.Console.WriteLine("Hello, World!\r\nI am at " + System.Environment.Version);
System.Console.ReadLine();
}
}
Разберем, как это получается.

Сначала работает bat-интерпретатор. Первую строчку скрипта он не понимает и выдает ошибку. Но не страшно, это чисто визуальное неудобство. Подчистим за ним во второй строчке.

Далее пытаемся найти каталог с компилятором csc.exe и запускаем его.

Компилятор .Net Framework'a, csc в качестве аргумента принимает путь к файлу с исходником. В нашем случае исходник находится в теле bat-файла(строки 13–20). Текст bat-команд игнорируется, как комментарий(строки 1 и 11).

После работы компилятора, получаем исполняемый файл, который запускаем и удаляем после завершения его работы.

Работа bat-интерпретатора заканчивается на 10 строке (exit).

Этот подход работает на Vista/7 «из коробки» и на ХР, с установленным .Net Framework.

Целесообразность, конечно, сомнительная. Так, just for fun.

http://habrahabr.ru/blogs/net/107659/#habracut​


От себя:

Проверил на себе, идея хорошая. Уже есть пара мыслей как это хитро применить. Работают все немспейсы, можно указывать через using. И да, работают даже винформсы!
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...