Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2014, 00:07   #1
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию Бат файл может кто-нибудь откомментировать код?

Что делает вторая строка, что первая, третяя, четвертая...

Ну хотя бы некоторые

set filename=%1
set masm_path=\masm32
if exist %filename%.rc (
%masm_path%\bin\rc /v %filename%.rc
%masm_path%\bin\cvtres /machine:ix86 %filename%.res
%masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm || exit
%masm_path%\bin\Link /SUBSYSTEM:WINDOWS /ALIGN:16 ^
/LIBPATH:%masm_path%\lib /NOLOGO %filename%.obj %filename%.res || exit
del %filename%.res
)
pause
else (
%masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm || exit
%masm_path%\bin\Link /SUBSYSTEM:WINDOWS /ALIGN:16 ^
/LIBPATH:%masm_path%\lib /NOLOGO %filename%.obj
)
pause
Dimka-novitsek вне форума Ответить с цитированием
Старый 05.03.2014, 00:23   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

изучите на минимальном уровне английский язык

первые две устанавливаю некоторые переменные
третья проверяет наличие файла
следующие вызов утилит с параметрами
...
p51x вне форума Ответить с цитированием
Старый 05.03.2014, 12:12   #3
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Спасибо. А что конкретно значит %1 ?
Dimka-novitsek вне форума Ответить с цитированием
Старый 05.03.2014, 12:20   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

http://www.firststeps.ru/msoffice/win/bats/r.php?6
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 05.03.2014, 14:47   #5
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Спасибо,я почитал. но я хочу для начала все таки очен подробно разобрать этот мой ( то есть не мой) батник.

,, Для начала напишем bat-файл, который по щелчку мыши или по нажатию на Enter создает gui-шный файл под Windows, причем, если в той же папке будет rc-файл с тем же именем, тогда к нашему obj-файлу будет добавлен res-файл.
Полетели! Пишем asm.bat следующего содержания,,

Это то, что имел виду автор и я и вы можем прочтать.

Я же создал этот бат файл в папке рядом с моей программой atest.asm, включаю его нажатием правой мышью.
И в общем хотел пошагово разобрать, отредактировать по своему.
Dimka-novitsek вне форума Ответить с цитированием
Старый 05.03.2014, 14:56   #6
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

"%1" - это параметр, который передается в файл. Запуская его мышью Вы не передаете в него никаких параметров. Соответственно условия отрабатывают криво.
Запускайте файл из консоли командой вида
Код:
asm.bat atest
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 05.03.2014, 15:38   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
но я хочу для начала все таки очен подробно разобрать этот мой ( то есть не мой) батник
Я вам еще раз повторяю откройте учебник по английскому и выучите минимум. В том батнике разбирать нечего. Или вы думаете, что строка "установить х=" означает полететь на луну, а "если существует имя.инк" - вырыть шахту?

Параметры всех утилит и их описание есть в справке по ключу /?, в файлах-справке в коомплетке и в гугле.
p51x вне форума Ответить с цитированием
Старый 05.03.2014, 16:28   #8
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Спасибо!!!

А что такое /c /Cp /Gz /I ??

google справка cmd.exe /c /Cp /Gz /I дает только лиш страницу английских не относящихся близко к делу ризультатов во втором листе переходящие в команды линукс.

Нет, ладно, моя справка говорит, что ,, эта команда не поддерживается,, Или отпишите, что имел автор, если кому не лень.

rc - видимо, компилятор ресурсов
cvtres - судя по названию, конвертер (?) скомпилированного ресурсного файла в какой-то другой формат
ml - собственно компилятор ассемблера
Link - линковщик
^ - означает, что команда продолжается в следующей строке


set filename=%1 rem мы создаем переменную в которую у нас помещается значение..
set masm_path=\masm32 rem мы создаем переменную в которую у нас помещается путь в masm32?
if exist %filename%.rc ( rem если существует значение переменной filename .rc это что? А, это какое-то расширение.
%masm_path%\bin\rc /v %filename%.rc rem /v это что означает? Я нашол rc.exe Это Microsoft Resource Compiler
%masm_path%\bin\cvtres /machine:ix86 %filename%.res rem Я нашол cvtres.exe Это Resource File To COFF Object Conversion Utility
%masm_path%\bin\ml /c /Cp /Gz /I%masm_path%\include /coff /nologo %filename%.asm || exit rem /c /Cp /Gz /I% Это что?Действительно, это что? Я из rem всей строки понимаю только %masm_path% -это значение переменной.
%masm_path%\bin\Link /SUBSYSTEM:WINDOWS /ALIGN:16 ^ rem
/LIBPATH:%masm_path%\lib /NOLOGO %filename%.obj %filename%.res || exit rem
del %filename%.res rem
)

Последний раз редактировалось Stilet; 06.03.2014 в 09:25.
Dimka-novitsek вне форума Ответить с цитированием
Старый 06.03.2014, 01:08   #9
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 588
По умолчанию

Подитожу

В общем, не понятны все команды, пиредающиеся через обратную дробь!! Причом я час гуглил на все лады.

А так же неепонятно это || exit что это с чем соединяется и куда выходит.

В общем мне 100% непонятны все нижние строки.

Ну а моя справка говорит, что ,, эта команда не поддерживается,, .
Dimka-novitsek вне форума Ответить с цитированием
Старый 06.03.2014, 01:11   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
А что такое /c /Cp /Gz /I ??
Параметры (ключи) команд.

Цитата:
google справка cmd.exe /c /Cp /Gz /I
Вы прикидываетесь? У вас написано "а /с", к примеру, так фига вы ищете "е /с"?

Цитата:
если существует значение переменной filename .rc это что?
Вы совсем овощ? Шнурки завязываете? Так почему вы не можете совершить два простых логических шага "устаноить АА=фы" и "если %АА%.тыр"?

Цитата:
/c /Cp /Gz /I% Это что?Действительно, это что?
Прочитайте мой предыдущий пост.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А может кто-нибудь помочь с 1С? Наталья Баева Помощь студентам 1 02.11.2013 21:19
Кто нибудь может лучше? zumm Visual C++ 3 02.03.2013 15:25
Где и как скачать программу Delphi. Может кто нибудь может помочь мне - без скачивания из интернета. IZOPGRAM Общие вопросы Delphi 4 16.06.2012 18:12
Может я не совсем по теме, но я надеюсь что найдется кто нибудь кто мне подскажет... xoi90 Работа с сетью в Delphi 1 23.01.2012 16:35
Ребята кто знает как пишется бат файл! OlegStalker Помощь студентам 1 25.05.2011 23:03