|
|
| Название | SaveDateTime |
| Имя файла (*.txt) | SaveDateTime.txt |
| Описание | Сохраняет в файл дату и время файлов |
| Автор | Вахмурка |
| Параметры | ("%L", "%P") |
| Вызываемые плагины | file |
| Иконка |
|
| Версия | 1.0 |
| Дата обновления | 29.01.2006 |
local InFile = file.open(arg(1), "r")
local OutName = arg(2) ++ "_NameDateFile.lst"
local OutFile = file.open(OutName, "w")
local Str, Counter, List, i, Date, Time, Temp
flag clear 1
if(InFile > 0) do
for(not(file.eof(InFile)))
Str = file.readstring(InFile)
if(Str != 0)
Counter = Counter + 1
endfor
else
messagebox("ok error", "File not opened", "FILE plugin error #1")
quit
endif
if(OutFile <= 0) do
messagebox("ok error", "File not opened", "FILE plugin error #2")
quit
endif
if(Counter == 1) do
List = file.listfiles(arg(2), 0, 0)
Counter = line(List, 0)
flag set 1
else
file.restart(InFile)
endif
for(i = 0; i < Counter; i = i + 1)
if(pproflag(1)) do
Str = line(List, i + 1)
else
Str = file.readstring(InFile)
endif
if(Str == OutName)
jump Next
file.writeline(OutFile, file.nametype(Str))
Temp = file.getdate(Str, "c")
Date = select(Temp, 8)
file.writeline(OutFile, Date)
Time = select(Temp, 9, 14)
file.writeline(OutFile, Time)
Temp = file.getdate(Str, "m")
Date = select(Temp, 8)
file.writeline(OutFile, Date)
Time = select(Temp, 9, 14)
file.writeline(OutFile, Time)
@Next
endfor
file.close(InFile)
file.close(OutFile)
Данная пара скриптов реализует в определенном смысле наиболее общий подход к присвоению даты и времени создания и изменения одного файла другому. Другие скрипты, предназначенные для частных случаев: CopyDate и BatchCopyDate.
Скрипт SaveDateTime сохраняет дату и время создания и изменения выбранных файлов в файл с именем _NameDateFile.lst в текущей директории. Редактировать полученный файл не только не имеет смысла, но и не рекомендуется. Зато его можно переименовать и/или записать в определенное место для последующего использования скриптом LoadDateTime.
Файлы для сохранения их даты и времени можно выбрать двумя способами: если файлы выделены в группу, дата и время будут сохранены только для них. В противном случае будут сохранены дата и время всех файлов в текущей директории.
| Название | LoadDateTime |
| Имя файла (*.txt) | LoadDateTime.txt |
| Описание | Восстанавливает из файла дату и время файлов |
| Автор | Вахмурка |
| Параметры |
("%L", "%P") или ("%L", "%P", "полный_путь_файла") |
| Вызываемые плагины | file, vec |
| Иконка |
|
| Версия | 1.0 |
| Дата обновления | 29.01.2006 |
local InFile = file.open(arg(1), "r")
local OutName = ifelse(arg(0) == 2, arg(2) ++ "_NameDateFile.lst", arg(3))
if(file.validpath(OutName) != 1) do
messagebox("ok error", "Invalid file path " ++ OutName, "FILE plugin error #1")
quit
endif
local OutFile = file.open(OutName, "r")
local Str, Counter, List, i, j, Date, Time, Temp, Rex
flag clear 1
if(InFile > 0) do
for(not(file.eof(InFile)))
Str = file.readstring(InFile)
if(Str != 0)
Counter = Counter + 1
endfor
else
messagebox("ok error", "File not opened", "FILE plugin error #3")
quit
endif
if(Counter == 1) do
List = file.listfiles(arg(2), 0, 0)
Counter = line(List, 0)
flag set 1
else
file.restart(InFile)
endif
if(OutFile > 0) do
for(not(file.eof(OutFile)))
Str = file.readstring(OutFile)
if(Str != 0) do
Rex = Rex + 1
endif
endfor
else
messagebox("ok error", "File not opened", "FILE plugin error #3")
quit
endif
if(Rex % 3 != 0) do
Str = "File " ++ OutName ++ " seems to be corrupted"
messagebox("ok error", Str, "LoadDateTime Script")
quit
endif
DT = vec.create(Rex)
if(DT == 0) do
messagebox("ok error", "Vector not created", "VEC plugin error")
quit
endif
file.restart(OutFile)
for(i = 0; i < Rex; i = i + 1)
Str = file.readstring(OutFile)
if(Str != 0)
DT[i] = Str
endfor
file.close(OutFile)
for(i = 0; i < Counter; i = i + 1)
if(pproflag(1)) do
Str = line(List, i + 1)
else
Str = file.readstring(InFile)
endif
if(Str == OutName)
jump Next
for(j = 0; j < Rex; j = j + 1)
Temp = arg(2) ++ DT[j]
if(file.validpath(Temp) == 1 && Temp == Str) do
Date = DT[j + 1]
Time = DT[j + 2]
file.setdate(Str, "c", Date, Time)
Date = DT[j + 3]
Time = DT[j + 4]
file.setdate(Str, "m", Date, Time)
break
endif
endfor
@Next
endfor
file.close(InFile)
vec.unload
После искажения (как правило, нежелательного) даты и времени создания и/или изменения файла нужную информацию можно восстановить из списка, созданного скриптом SaveDateTime. Если у скрипта LoadDateTime два параметра, то файл-список с именем _NameDateFile.lst будет искаться в текущей директории. Если же задан третий параметр, то он должен указывать полное имя файла-списка.
Файлы, дату и время которых следует изменить, выбираются так же, как и для скрипта SaveDateTime: если выделена группа, то измененям будут подвергнуты файлы из нее, в противном случае, если ничего не выделено - все файлы в текущей директории.
|
На главную |
|
Все о Total Commander |
|
PowerPro |
|
PowerPro & Total Commander |