Сейчас на форуме: cppasm, asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Выполнения батника с любыми именами файлов
Посл.ответ Сообщение

Ранг: 3.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 апреля 2016 01:03
· Личное сообщение · #1

Вот батник
Code:
  1. set NAME=dumpregs
  2. \masm32\bin\ml.exe //coff   .\777.asm
  3. \masm32\bin\Link.exe /SUBSYSTEM:CONSOLE    .\777.obj

он работает, но почему то вот так
Code:
  1. set NAME=dumpregs
  2. \masm32\bin\ml.exe //coff   .\%NAME%.asm
  3. \masm32\bin\Link.exe /SUBSYSTEM:CONSOLE    .\%NAME%.obj

не работает, подскажите, пожалуйста, как сделать, чтобы батник выполнялся с любыми именами файлов.



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 03 апреля 2016 01:16 · Поправил: dosprog
· Личное сообщение · #2

Второй вариант работает нормально.





Ранг: 3.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 апреля 2016 02:08
· Личное сообщение · #3

dosprog пишет:
Второй вариант работает нормально.

эх, как всегда ток у меня ниче не работает



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 03 апреля 2016 07:01
· Личное сообщение · #4

офтоп..
Стою на асфальте я в лыжи обутый. то ли лыжи не едут.. то ли вариант №2

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 03 апреля 2016 07:22
· Личное сообщение · #5

HAIRY пишет:
не работает


ты не отрывки, а готовый батник выложи - может просто ошибся где.




Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 03 апреля 2016 07:46 · Поправил: Rainbow
· Личное сообщение · #6

Интересно, а для чего у тебя ".[BACKSLASH]" перед %NAME% ?




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 03 апреля 2016 08:34 · Поправил: plutos
· Личное сообщение · #7

Так вроде этот "сложный" вопрос уже обсуждался и все работало вот здесь:
https://exelab.ru/f/action=vthread&forum=6&topic=23844&page=0#8

Code:
  1. 01.set NAME=dumpregs
  2. 02.\masm32\bin\ml //coff   %NAME%.asm
  3. 03.\masm32\bin\Link /SUBSYSTEM:CONSOLE    %NAME%.obj


Точно тот самый make.bat file от dosprog'a.
Зачем темы плодить?

-----
Give me a HANDLE and I will move the Earth.




Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 03 апреля 2016 09:30 · Поправил: dosprog
· Личное сообщение · #8

Rainbow пишет:
Интересно, а для чего у тебя ".[BACKSLASH]" перед %NAME% ?

Типа подчёркивается, что файл в текущем каталоге. Хотя, конечно, это лишнее. (".\")

plutos пишет:
Точно тот самый make.bat file от dosprog'a.


Точно.. То-то я гляжу, что-то очень знакомое..
Короче, всё работает, причём годами уже.

Не работать это может только в единственном случае - когда запускается через SHELL из кривого редактора, который устанавливает текущим каталог расположения своего EXE вместо каталога редактируемого исходного файла (.ASM).
Было уже что-то такое, емнип при обсуждении notepad++.

..Тогда в тот батник надо добавить первой строчкой что-то типа такого:

CMD /C CD "диск:\полный_путь_к_редактируемому_файлу"


.. плюс не забывать, что на том же диске, где лежит редактируемый файл, в его корне,
лежит и каталог MASM32 c masm32 ml/link.
Это не очень удобно, но всёже удобнее, чем мудрить с заданиями переменных окружения для MASM32.






Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 03 апреля 2016 09:36
· Личное сообщение · #9

dosprog пишет:
Типа подчёркивается

Текущая директория консоли все равно это папка из которой стартует файл и 2 это подчеркивать имхо незачем



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 03 апреля 2016 09:39 · Поправил: dosprog
· Личное сообщение · #10

Rainbow пишет:
Текущая директория консоли все равно это папка из которой стартует файл и 2 это подчеркивать имхо незачем


Уточнил в предыдущем посте.
Впрочем, да - то явно лишние изыски. Они не нужны.

--Добавлено-- К следующему посту:

VodoleY пишет:
не ну конечно все понятно.. ток какое отношение это к реверсу имеет.. хз

Та да. Начальный уровень программирования..





Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 03 апреля 2016 10:04
· Личное сообщение · #11

не ну конечно все понятно.. ток какое отношение это к реверсу имеет.. хз

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 3.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 апреля 2016 15:56
· Личное сообщение · #12

вот не работает, да обращался, но проблема была другая

8c57_03.04.2016_EXELAB.rU.tgz - Безымянный.png




Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 03 апреля 2016 18:06
· Личное сообщение · #13

HAIRY пишет:
вот не работает


Сравни то, как у тебя файл в папке незываеся и то, какое имя ты назначаешь переменной %NAME% через SET в BAT-файле



Ранг: 3.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 апреля 2016 18:12
· Личное сообщение · #14

Rainbow пишет:
Сравни то, как у тебя файл в папке незываеся и то, какое имя ты назначаешь переменной %NAME% через SET в BAT-файле

увидел, но я как это исправить, что нужно назначить через SET?




Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 03 апреля 2016 18:16 · Поправил: Rainbow
· Личное сообщение · #15

HAIRY пишет:
увидел, но я как это исправить, что нужно назначить через SET?

777 ...

и CMD /C CD "диск:\путь_к_файлу" удали из bat-файла, незачем. Тут небольшая ошибка. Тут предствлена command-line для запуска через CreateProcess... В BAT-файле это должно выглядеть следущим образом:
CD /D "диск:\путь_к_файлу"



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 04 апреля 2016 22:00 · Поправил: dosprog
· Личное сообщение · #16

Rainbow пишет:
В BAT-файле это должно выглядеть следущим образом:
CD /D "диск:\путь_к_файлу"

Если "путь_к_файлу" содержит "длинные имена"(LFN), то такое будет работать только в Win9x,
и наоборот, в WinNT+ работать не будет..

..а в общем, тема себя изжила.


--Добавлено-- К следующему посту:

Rainbow пишет:
Прошу прощения, ты когда последний раз 98ю ставил ?


В прошлом месяце.






Ранг: 110.8 (ветеран), 104thx
Активность: 0.090.01
Статус: Участник

Создано: 04 апреля 2016 22:56
· Личное сообщение · #17

dosprog пишет:
такое будет работать только в Win9x


Прошу прощения, ты когда последний раз 98ю ставил ?


 eXeL@B —› Вопросы новичков —› Выполнения батника с любыми именами файлов
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати