присоединить ресурс в bate

Тема в разделе "WASM.BEGINNERS", создана пользователем Izgoy, 27 июл 2009.

  1. Izgoy

    Izgoy New Member

    Публикаций:
    0
    Регистрация:
    24 июн 2009
    Сообщения:
    24
    здравствуйте
    написал бат следующего содержания
    Код (Text):
    1. @set folder_name=%menu
    2. @set mainfile_name=%menu
    3. @set res_fname=%FirstMenu
    4. @cd ..\..\..\bin\
    5.  
    6. rc.exe /v "..\PROJECTS\Win32\%folder_name%\%res_fname%.rc"
    7. Cvtres.exe /machine:ix86 "..\PROJECTS\Win32\%folder_name%\%res_fname%.res"
    8.  
    9. ml.exe /c /coff /Cp "E:\masm32\PROJECTS\Win32\%folder_name%\%mainfile_name%.asm"
    10.  
    11. link.exe /SUBSYSTEM:WINDOWS  /LIBPATH:e:\\masm32\\lib %mainfile_name%.obj "..\PROJECTS\Win32\%folder_name%\%res_fname%.res"
    12.  
    13. move %mainfile_name%.obj "..\PROJECTS\Win32\%folder_name%"
    14. move %mainfile_name%.exe "..\PROJECTS\Win32\%folder_name%"
    15. pause
    ехе создается, но даже не открывается, на ошибки в нем проверял - их невижу. посмотрите пожалуйста, в чем накосячил.
    в архиве полный код, там совсем немного. спасибо.
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    а что это за %menu
    и зачем перед командами ставить @
     
  3. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    к примеру если rc,asm файлы имеют одинаковое имя, то

    Код (Text):
    1. @echo off
    2. set masm=E:\masm32
    3. set libs=E:\masm32\lib
    4. %~d1
    5. cd %~p1
    6. %masm%\bin\rc.exe "%~n1.rc"
    7. if not %errorlevel%==0 goto error
    8. %masm%\bin\Cvtres.exe "%~n1.res"
    9. if not %errorlevel%==0 goto error
    10. %masm%\bin\ml.exe /c /coff "%~n1.asm"
    11. if not %errorlevel%==0 goto error
    12. %masm%\bin\link.exe /SUBSYSTEM:WINDOWS  /LIBPATH:%libs% "%~n1.obj" "%~n1.res"
    13. if %errorlevel%==0 goto end
    14. :error
    15. pause
    16. :end
    далее просто перетаскиваем любой из asm/rc файлов на батник и вуаля
     
  4. Izgoy

    Izgoy New Member

    Публикаций:
    0
    Регистрация:
    24 июн 2009
    Сообщения:
    24
    ахах, все, понял, мой батник правильно работает, просто я в коде накосячил немного, как то случайно перепутал push и pop)))
    max7C4, спаисбо вам за то что хотели помоч. а что означает в вашем коде вот это?
    Код (Text):
    1. %~d1
    2. cd %~p1
    3. %masm%\bin\rc.exe "%~n1.rc"
    читал синтаксис bat файлов, что то неприпоминаю такие инструкции(%~d1, p1, n1), просветите меня пожалуйста
     
  5. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    call /?
     
  6. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    соответственно для X:\project\my first project\main.asm
    %~1 превращается в имя диска т.е. в команду смены диска X:
    cd "%~p1" превращается в cd "\project\my first project"
    ну а %~n1 превращается в main
    во всех конструкциях ~ подавление кавычек, чтобы не случилось ""\project\my first project"" такого
     
  7. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    все это и много более есть в справке по команде start
     
  8. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    o14189
    чет нема
     
  9. Johnikum

    Johnikum Member

    Публикаций:
    0
    Регистрация:
    6 июн 2003
    Сообщения:
    97
    ищи "Урок bat-аники"
     
  10. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Johnikum
    вот это я не видел, но все это есть в справке (/?)
     
  11. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
  12. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    зачем смотреть. это все из справки узнать можно