PDA

Показать полную графическую версию : Дата и время изменения файла


lorents
20-01-2012, 23:34
Добрый вечер!
У меня есть два файла с разными датами и временем изменения файла. Подскажите, как можно с помощью JScript сделать так, чтобы у файлов были одинаковые даты и время изменения файла. У меня одно просьба, сам код буду запускать через командную строку, по этой причине хотел попросить, чтобы код можно было бы запустить через командную строку следующим образом:

cscript //nologo //E:JScript "script.js" "файл 1" "файл 2"

sov44
26-01-2015, 22:09
Столкнулся с проблемой определения даты изменения файла. Есть файл, в свойствах которого написана дата изменения ‎7 ‎сентября ‎2013‎г., ‏‎0:07:01, при выводе свойств файла через командную строку (%~t0 ) в консоль выводит 6.09.2014 23:07, при использовании утилиты filever тоже 6 сентября. Как вывести в переменную дату и время 7.09.2014 ‏‎0:07:01 ?

http://savepic.su/4789121m.jpg (http://savepic.su/4789121.htm)

файл http://rghost.ru/6NWlPzFht

mwz
27-01-2015, 00:52
sov44, какая у вас на компьютере установлена зона времени?

sov44
27-01-2015, 06:52
mwz, (UTC+03:00) Волгоград, Москва, Санкт-Петербург (RTZ 2) Цент обновления работает.

дополнение:
кэш 4190с.msp взят из папки %windir%\Installer. Оригинал файла - в KB2589352 http://rghost.ru/6ZSVn9x7D
проверил на другом компьютере, проблема аналогичная (https://yadi.sk/i/BSdve57geFz4A).

sov44
27-01-2015, 22:08
Задачка действительно сложная (не решаемая) ?

Iska
28-01-2015, 07:09
sov44, не проще ли будет предположить, что проблема где-то на уровне Проводника, нежели в filever или cmd.exe? Что кажут сторонние файловые менеджеры по поводу свойств данного файла, например, такие как Far Manager и Total Commander?

sov44
28-01-2015, 07:47
sov44, не проще ли будет предположить, что проблема где-то на уровне Проводника, »
Нет. Во первых разные компьютеры показывают один и тот-же баг, во вторых для файлов, созданных (модифицированных) текущей системой это не распространяется. Как вариант, сравните даты файлов по ссылке http://rghost.ru/6NWlPzFht и тот-же файл, вынутый из exe http://rghost.ru/6ZSVn9x7D

Iska
28-01-2015, 08:04
Во первых разные компьютеры показывают один и тот-же баг, »
И что? Проверьте на чистой, свежеустановленной ОС с оригинального, ничем не модифицированного диска.

Я Вам просто предлагаю проверить:
Что кажут сторонние файловые менеджеры по поводу свойств данного файла, например, такие как Far Manager и Total Commander? »
Далее я предложил бы сравнить показания «Scripting.FileSystemObject», «Shell.Application», System.IO.FileInfo. Не хотите давать информацию, дело Ваше.

Как вариант, сравните даты файлов по ссылке http://rghost.ru/6NWlPzFht и тот-же файл, вынутый из exe http://rghost.ru/6ZSVn9x7D »
Ничего, что дата меняется при выгрузке/загрузке?

sov44
28-01-2015, 12:19
Ничего, что дата меняется при выгрузке/загрузке? »
см. пост 2

Не хотите давать информацию, дело Ваше. »
см. ссылку пост 4
проблема аналогичная »


какими ещё сторонними утилитами (кроме filever) можно выделить в переменную дату модификации?

iccup.platoon@vk
28-01-2015, 14:32
File="jetpack.zip"
filespec="F:\SANDBOX\"&file
set fso=createobject("scripting.filesystemobject")
set f=fso.GetFile(filespec)
MsgBox f.DateLastModified
set f=nothing
set fso=nothing

Данный код выдаст мсг с датой и временем изменения указанного файла

sov44
28-01-2015, 15:08
iccup.platoon@vk, нужно переменной в батнике для дальнейшей обработки.

п.с. файл не победим :)

Iska
28-01-2015, 15:43
sov44, если способ 1, 2, 3 говорит Вам, что дата равна X, а Проводник — что дата равна X +1 час, то какой напрашивается вывод?

sov44
28-01-2015, 15:59
если способ 1, 2, 3 говорит Вам, что дата равна X, а Проводник — что дата равна X +1 час, то какой напрашивается вывод? »
вывод - проверит на своём ПК, подтвердить или опровергнуть мой пост ;)

Iska
28-01-2015, 16:18
вывод - проверит на своём ПК, подтвердить или опровергнуть мой пост »
Проверил ещё вчера. Проверил ещё раз сегодня на другой машине.

http://i.imgur.com/8zfJ4mT.png

sov44
28-01-2015, 16:49
Проверил ещё вчера. Проверил ещё раз сегодня на другой машине. »
тогда хз, куда копать. :dont-know

Iska
28-01-2015, 17:09
sov44, посмотрите, вот это не может быть похоже на Ваше поведение: Why do file timestamps compare differently every time change? (http://ask-leo.com/why_do_file_timestamps_compare_differently_every_time_change.html)?

sov44
28-01-2015, 20:04
вот это не может быть похоже на Ваше поведение: »
Возможно. Не хочется баловаться с форматированием системного раздела.
Изменил часовой пояс на 1 час вперёд, всё стало ОК. Но ведь это в принципе не правильно!!!

http://savepic.su/4793029m.jpg (http://savepic.su/4793029.htm)

mwz
29-01-2015, 02:12
sov44, похоже что у вас не стоит обновление http://support.microsoft.com/kb/3013410 , а только более раннее сентябрьское. ;)

Hint.
В зонах времени прописано не только сегодняшнее соответствие временных зон, но и пересчёт относительно GMT за предыдущие годы и периоды тех прошедших лет. Не помню уж по каким причинам, но сентябрьское обновление было промежуточным экспресс-обновлением, и в нём было сразу сказано, что необходимо будет ставить следующее обновление.

sov44
29-01-2015, 06:58
похоже что у вас не стоит обновление http://support.microsoft.com/kb/3013410 , а только более раннее »
mwz, в том-то и проблема, что обновление установлено. При повторной установке появляется окно http://savepic.su/4819456.jpg

iccup.platoon@vk
01-02-2015, 19:28
Может, так? =(
BAT

@echo off
Setlocal EnableDelayedExpansion
start "" "ТУТ ПУТЬ К МОЕМУ ВБС СКРИПТУ"
for /f "usebackq tokens=*" %%a in ("c:\testwritefile.txt") do (echo %%~a)
del /q "c:\testwritefile.txt"

Этот код положит в переменную всё то, что вам нужно.

VBS

filespec="ТУТ ПУТЬ К ФАЙЛУ, ВРЕМЯ ИЗМЕНЕНИЯ КОТОРОГО НАДО УЗНАТЬ"
set fso=createobject("scripting.filesystemobject")
Set tf = fso.CreateTextFile("c:\testwritefile.txt", True)
set f=fso.GetFile(filespec)
param = f.DateLastModified
tf.Write (param)
set f=nothing
set fso=nothing

А этот - достанет ту самую инфу, запишет ее в файлик для последующей обработки вышеописанным батником.
По традиции: Iska, не бей за такой способ =)
Архив со скриптами - 121746




© OSzone.net 2001-2012