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. И да, работают даже винформсы!
 
Ответить с цитированием

  #2  
Старый 07.11.2010, 18:26
j-prof
Постоянный
Регистрация: 29.08.2010
Сообщений: 321
С нами: 8265206

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

ааааааааааааааааааааааааа ааааа люблю тя ты мой герой ппц круто

я фигею ааааааааааааааааааааааааа ааааааааааааааааааааааааа
 
Ответить с цитированием

  #3  
Старый 07.11.2010, 18:30
N@b$ter
Новичок
Регистрация: 06.10.2009
Сообщений: 3
С нами: 8734848

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

прикольная тема, очень познавательно. Можут очень помочь
 
Ответить с цитированием

  #4  
Старый 07.11.2010, 18:30
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

 
Ответить с цитированием

  #5  
Старый 07.11.2010, 18:31
j-prof
Постоянный
Регистрация: 29.08.2010
Сообщений: 321
С нами: 8265206

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

Цитата:
Сообщение от Дикс  
ну эт не интересно
 
Ответить с цитированием

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

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

Цитата:
Сообщение от j-prof  
ааааааааааааааааааааааааа ааааа люблю тя ты мой герой ппц круто
я фигею ааааааааааааааааааааааааа ааааааааааааааааааааааааа
Да это не этот сделал, а умный с хабры. А этот просто скопировал.
 
Ответить с цитированием

  #7  
Старый 07.11.2010, 23:51
j-prof
Постоянный
Регистрация: 29.08.2010
Сообщений: 321
С нами: 8265206

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

Цитата:
Сообщение от Charle  
Да это не этот сделал, а умный с хабры. А этот просто скопировал.
и за это спасибо я б без него не узнал про это

я на ачате сижу а не на "хабре"
 
Ответить с цитированием

  #8  
Старый 08.11.2010, 01:06
aka_zver
Постоянный
Регистрация: 17.09.2009
Сообщений: 775
С нами: 8762549

Репутация: 1069


По умолчанию

шутники бля =\
 
Ответить с цитированием

  #9  
Старый 08.11.2010, 03:10
DeepBlue7
Познающий
Регистрация: 02.01.2009
Сообщений: 90
С нами: 9134867

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

Цитата:
Сообщение от aka_zver  
шутники бля =\
Очень информационно насыщенный пост.

А по теме, есть пару вариантов заюзать Спасибо.
 
Ответить с цитированием

  #10  
Старый 09.11.2010, 01:32
bad_boy
Новичок
Регистрация: 30.12.2004
Сообщений: 10
С нами: 11242289

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

Цитата:
Сообщение от Charle  
Да это не этот сделал, а умный с хабры. А этот просто скопировал.
Это, вообще, давно известно было и до "умного" с хабры. Для C# довольно бесполезная вещь.
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

Сумма USDT:

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

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

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

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

×

Мои сделки

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

Сделка


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

ESCROW ADMIN PANEL

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