Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
Danox
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 8
#1

Всем .obj файлам в директории выставить другую время и дату модификации - Assembler

13.05.2012, 22:03. Просмотров 436. Ответов 5
Метки нет (Все метки)

Здравствуйте! Мне нужно всем obj файлам в директории выставить другую дату и время модификации. Но что то не работает.
Но если в маске указать определенный файл (например msk db 'file.exe',0) то у него меняется, иначе нет.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
    
.model large
.data
msk db '*.obj',0
hndl dw 0FFFFh 
 
.stack
db 256 dup (0)
 
.code
 
chng_f proc
    mov ax,3D02h ;открываем файл для чтения/записи
    ;mov        dx,80h+1Eh  ;не работает вообще с этим
    int 21h
    mov hndl,ax ;хендл
 
    mov ax,5701h  ;работа с полями дата и время 
    mov bx,hndl ;занесем хендл
    mov dx,405Dh ;дата новая 0100000 0010 11101 - дата
    mov cx,704h ;время новое 00000 111010 00000 -время 
    int 21h 
 
    mov ah,3eh  ;закроем файл
    mov bx,hndl
    int 21h
 
    ret
chng_f endp
 
 
start:
    mov ax,@data
    mov ds,ax
 
mov ah,4eh ;ищем первый файл по маске
    mov dx,offset msk
    mov cx,0
    int 21h 
    
    jc exit
    call chng_f
 
nxt:
    mov ah,4fh ;Теперь в DTA находится информация о следующем файле 
    xor cx,cx
    ;xor dx,dx ;DS:DX указывают на DTA
        mov dx,80h  ;dta
    int 21h 
    jc exit ;в случае ошибки выйти
    call chng_f ;вызываем процедуру
    jmp nxt ;ищем дальше
 
exit:         
 
    mov ah,4ch
    int 21h
 
end start
Добавлено через 2 часа 37 минут
Возможно напортачил где-то с DTA не могу разобраться
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 22:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Всем .obj файлам в директории выставить другую время и дату модификации (Assembler):

Изменить время модификации файла - Assembler
Есть файл. Любой файл. У него есть дата создания и дата изменения. Где содержится информация об этом файле? В NTFS/FAT-таблице? Или же в...

VBS Применение VBS скрипта ко всем файлам в директории - VBScript/JScript
Приветствую! Есть директория в которую складываются *.xls файлы для обработки (D:\PRIBOR\) Есть скрипт (найденный на просторах...

Задать случайную дату создания всем файлам в папке - CMD/BAT
Старый муз. центр не умеет воспроизводить в случайном порядке. Воспроизведение идет по дате создания файла. Нужно заменить дату в каждом...

Копирование заданных в списке папок со всем содержимым из одной директории в другую - CMD/BAT
Прошу помощи. Я ни разу не программист, не моё это, уж простите. Кое что понимаю на уровне обезьяны, но не более. Задача -...

Добавить к файлам, чьи имена начинаются с DSCN дату и время - CMD/BAT
Есть файлы, их имена начинаются на DSCN и заканчиваются на четыре цифры, потом идёт точка и расширение. Надо DSCN заменить на информацию о...

Получить дату модификации файла - CMD/BAT
Похоже запнулся за баг MS :wall: Нужно было из *.exe извлечь файл *.msp и взят в переменную оригинальную дату модификации. Вроде...

5
programmisto
92 / 137 / 3
Регистрация: 15.04.2012
Сообщений: 1,032
14.05.2012, 06:10 #2
Цитата Сообщение от Danox Посмотреть сообщение
Возможно напортачил где-то с DTA не могу разобраться
Конечно напортачил. Надо было ещё после
Assembler
1
   mov dx,80h
добавить
Assembler
1
   mov dx,9Eh
1
Danox
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 8
14.05.2012, 10:36  [ТС] #3
Цитата Сообщение от programmisto Посмотреть сообщение
Конечно напортачил. Надо было ещё после
Assembler
1
   mov dx,80h
добавить
Assembler
1
   mov dx,9Eh
Ну это 80h+1Eh мне не понятно зачем при поиске след файлов это делать ну ладно... все равно не работает
0
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
14.05.2012, 11:12 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Danox, попробуйте перед поиском файлов установить адрес DTA на всякий случай.
Assembler
1
2
3
mov ah,1ah
mov dx,80h
int 21h
3
Danox
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 8
14.05.2012, 11:17  [ТС] #5
Мдя... спасибо теперь все заработало
0
programmisto
92 / 137 / 3
Регистрация: 15.04.2012
Сообщений: 1,032
14.05.2012, 14:06 #6
Vadimych, спасибо, теперь буду знать как DTA ставить.
0
14.05.2012, 14:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2012, 14:06
Привет! Вот еще темы с ответами:

Установить дату последней модификации файла - C++ Qt
При автоматическом обновлении системы я ориентируюсь на даты последней модификации файлов. Естественно, при переписи нового файла мне надо...

Как узнать последнюю дату модификации файла? - PHP
Как узнать последнюю дату модификации файла? Пытаюсь изобразить что-то вподе: Обновление от <? print filemtime("r_pr.zip")?> г. На...

WinCE - проверить дату создания/модификации файла на FTP - C#
Приветствую. Как в C# для WinCE проверить дату создания/модификации файла на FTP? Насколько понимаю, самый простой способ - wininet.dll...

Поиск файлов, имеющий заданную дату создания (модификации) - VBScript/JScript
Доброго дня! Прошу помочь со скриптом. В чем ошибка, ПОЧЕМУ НЕ ЗАПУСКАЕТСЯ? var i, n, objArgs, s, args, files, dt, fpath; //...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru