![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 09.07.2022
Сообщений: 3
|
![]()
Задача: В чистом DOS'е 7.10 (НЕ под Windows cmd.exe!), в пакетном файле
переменной присвоить значение "метки времени" вида MMDD_HHMN (0709_0857) с "ведущим" нулем. Учитывая: В чистом DOS'е - НЕ работают конструкции(команды, переменные) вида - %DATE% , %TIME% , set /a TMP=... , set /p TMP=... , for...token.... и т.д. 1. Был применен "костылик" на pascal'е типа - Код:
а в переменную вызывающего batch файла впихнуть не могу... ![]() (pascal, как собака, все читает, а писать нее... функция Exec() - не помогла..) 2. я готов "глобальной" переменной TMP (обьявленной еще в AUTOEXEC.BAT) присвоить - set TMP=1234_6789 (9 байт, чтоб длина совпала!) ![]() вызвать свой DTstamp.exe (в котором получаю метку MMDD_HHMN) и вот тут: нужен кусок кода на assembler'е, ![]() который "впердолит" эти 9 байт в область PSP никого не спрашивая.... (я видел, он умеет спросить адрес - где лежит TMP?) и этот "кусок кода" - в той же программе pascal'я, TASM умеет, я проверял.. после выхода из DTstamp.exe, я попользуюсь TMP... и... или верну "как было", или при выходе из batch-файла "само вернется".. проверить надо... Помогите с "куском кода"... Заранее благодарю! |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Просто запишите значение в C:\temp.bat файл в виде
Код:
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 09.07.2022
Сообщений: 3
|
![]()
Что-то не понял мысль... (старею.. тупею...)
|
![]() |
![]() |
![]() |
#4 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,591
|
![]()
Насколько можно понять условие задачи, то решаться она должна именно на ДОС, а не сторонней утилитой. Можно поиграться с командами date и time, но как оно будет работать в DOS 7.10, если честно, мне неизвестно, так как с таким старьем не работаю.
E-Mail: arigato.freelance@gmail.com
Последний раз редактировалось Arigato; 09.07.2022 в 19:17. |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Записываете последовательность команд
Код:
Код:
Этот вариант гораздо проще чем поиск в памяти корневого окружения. DOS 7.10 для каждой запущенной программы создает собственный блок переменных окружения, на которые ссылается слово PSP[44] = сегментный адрес начала локального окружения. После завершения программы это окружение более не будет иметь значения и будет восстановлено на состояние до запуска. Это означает, что вам необходимо найти в памяти положение корневого блока переменных окружения и менять значения там. Можете сами это попробовать реализовать и поймете, что это геморрой! |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 09.07.2022
Сообщений: 3
|
![]()
macomics
О! теперь понял... Вы правы, так проще.. Спасибо! То-же самое посоветовали - https://www.cyberforum.ru/cmd-bat/thread3006587.html проверил, работает! "облагораживать" буду... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метка времени в электронном документе | Nikonico | Общие вопросы по программированию, компьютерный форум | 11 | 24.12.2018 16:00 |
Разработать пакетный файл для установки даты и времени | virus77724 | Помощь студентам | 3 | 06.04.2014 17:38 |
Batch file в Delphi | kotaina | Общие вопросы Delphi | 3 | 22.08.2011 13:48 |
Запись текущей даты времени в текстовый файл | kanich | Помощь студентам | 3 | 07.09.2010 13:05 |
Вывод даты и времени (assembler) | olen` | Помощь студентам | 0 | 05.06.2009 22:45 |