здравствуйте написал бат следующего содержания Код (Text): @set folder_name=%menu @set mainfile_name=%menu @set res_fname=%FirstMenu @cd ..\..\..\bin\ rc.exe /v "..\PROJECTS\Win32\%folder_name%\%res_fname%.rc" Cvtres.exe /machine:ix86 "..\PROJECTS\Win32\%folder_name%\%res_fname%.res" ml.exe /c /coff /Cp "E:\masm32\PROJECTS\Win32\%folder_name%\%mainfile_name%.asm" link.exe /SUBSYSTEM:WINDOWS /LIBPATH:e:\\masm32\\lib %mainfile_name%.obj "..\PROJECTS\Win32\%folder_name%\%res_fname%.res" move %mainfile_name%.obj "..\PROJECTS\Win32\%folder_name%" move %mainfile_name%.exe "..\PROJECTS\Win32\%folder_name%" pause ехе создается, но даже не открывается, на ошибки в нем проверял - их невижу. посмотрите пожалуйста, в чем накосячил. в архиве полный код, там совсем немного. спасибо.
к примеру если rc,asm файлы имеют одинаковое имя, то Код (Text): @echo off set masm=E:\masm32 set libs=E:\masm32\lib %~d1 cd %~p1 %masm%\bin\rc.exe "%~n1.rc" if not %errorlevel%==0 goto error %masm%\bin\Cvtres.exe "%~n1.res" if not %errorlevel%==0 goto error %masm%\bin\ml.exe /c /coff "%~n1.asm" if not %errorlevel%==0 goto error %masm%\bin\link.exe /SUBSYSTEM:WINDOWS /LIBPATH:%libs% "%~n1.obj" "%~n1.res" if %errorlevel%==0 goto end :error pause :end далее просто перетаскиваем любой из asm/rc файлов на батник и вуаля
ахах, все, понял, мой батник правильно работает, просто я в коде накосячил немного, как то случайно перепутал push и pop))) max7C4, спаисбо вам за то что хотели помоч. а что означает в вашем коде вот это? Код (Text): %~d1 cd %~p1 %masm%\bin\rc.exe "%~n1.rc" читал синтаксис bat файлов, что то неприпоминаю такие инструкции(%~d1, p1, n1), просветите меня пожалуйста
соответственно для X:\project\my first project\main.asm %~1 превращается в имя диска т.е. в команду смены диска X: cd "%~p1" превращается в cd "\project\my first project" ну а %~n1 превращается в main во всех конструкциях ~ подавление кавычек, чтобы не случилось ""\project\my first project"" такого