Дата и время изменения файла
Добрый вечер!
У меня есть два файла с разными датами и временем изменения файла. Подскажите, как можно с помощью JScript сделать так, чтобы у файлов были одинаковые даты и время изменения файла. У меня одно просьба, сам код буду запускать через командную строку, по этой причине хотел попросить, чтобы код можно было бы запустить через командную строку следующим образом:
Код:
cscript //nologo //E:JScript "script.js" "файл 1" "файл 2"
|
Столкнулся с проблемой определения даты изменения файла. Есть файл, в свойствах которого написана дата изменения 7 сентября 2013г., 0:07:01, при выводе свойств файла через командную строку (%~t0 ) в консоль выводит 6.09.2014 23:07, при использовании утилиты filever тоже 6 сентября. Как вывести в переменную дату и время 7.09.2014 0:07:01 ?
файл http://rghost.ru/6NWlPzFht
|
sov44, какая у вас на компьютере установлена зона времени?
|
mwz, (UTC+03:00) Волгоград, Москва, Санкт-Петербург (RTZ 2) Цент обновления работает.
дополнение:
кэш 4190с.msp взят из папки %windir%\Installer. Оригинал файла - в KB2589352 http://rghost.ru/6ZSVn9x7D
проверил на другом компьютере, проблема аналогичная.
|
Задачка действительно сложная (не решаемая) ?
|
sov44, не проще ли будет предположить, что проблема где-то на уровне Проводника, нежели в filever или cmd.exe? Что кажут сторонние файловые менеджеры по поводу свойств данного файла, например, такие как Far Manager и Total Commander?
|
Цитата:
Цитата Iska
sov44, не проще ли будет предположить, что проблема где-то на уровне Проводника, »
|
Нет. Во первых разные компьютеры показывают один и тот-же баг, во вторых для файлов, созданных (модифицированных) текущей системой это не распространяется. Как вариант, сравните даты файлов по ссылке http://rghost.ru/6NWlPzFht и тот-же файл, вынутый из exe http://rghost.ru/6ZSVn9x7D
|
Цитата:
Цитата sov44
Во первых разные компьютеры показывают один и тот-же баг, »
|
И что? Проверьте на чистой, свежеустановленной ОС с оригинального, ничем не модифицированного диска.
Я Вам просто предлагаю проверить:
Цитата:
Цитата Iska
Что кажут сторонние файловые менеджеры по поводу свойств данного файла, например, такие как Far Manager и Total Commander? »
|
Далее я предложил бы сравнить показания «Scripting.FileSystemObject», «Shell.Application», System.IO.FileInfo. Не хотите давать информацию, дело Ваше.
Ничего, что дата меняется при выгрузке/загрузке?
|
Цитата:
Цитата Iska
Ничего, что дата меняется при выгрузке/загрузке? »
|
см. пост 2
Цитата:
Цитата Iska
Не хотите давать информацию, дело Ваше. »
|
см. ссылку пост 4
какими ещё сторонними утилитами (кроме filever) можно выделить в переменную дату модификации?
|
iccup.platoon@vk |
28-01-2015 14:32 2462644 |
Код:
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
Данный код выдаст мсг с датой и временем изменения указанного файла
|
iccup.platoon@vk, нужно переменной в батнике для дальнейшей обработки.
п.с. файл не победим :)
|
sov44, если способ 1, 2, 3 говорит Вам, что дата равна X, а Проводник — что дата равна X +1 час, то какой напрашивается вывод?
|
Цитата:
Цитата Iska
если способ 1, 2, 3 говорит Вам, что дата равна X, а Проводник — что дата равна X +1 час, то какой напрашивается вывод? »
|
вывод - проверит на своём ПК, подтвердить или опровергнуть мой пост ;)
|
Цитата:
Цитата sov44
вывод - проверит на своём ПК, подтвердить или опровергнуть мой пост »
|
Проверил ещё вчера. Проверил ещё раз сегодня на другой машине.
|
Цитата:
Цитата Iska
Проверил ещё вчера. Проверил ещё раз сегодня на другой машине. »
|
тогда хз, куда копать. :dont-know
|
Цитата:
Цитата Iska
вот это не может быть похоже на Ваше поведение: »
|
Возможно. Не хочется баловаться с форматированием системного раздела.
Изменил часовой пояс на 1 час вперёд, всё стало ОК. Но ведь это в принципе не правильно!!!
|
sov44, похоже что у вас не стоит обновление http://support.microsoft.com/kb/3013410 , а только более раннее сентябрьское. ;)
Hint.
В зонах времени прописано не только сегодняшнее соответствие временных зон, но и пересчёт относительно GMT за предыдущие годы и периоды тех прошедших лет. Не помню уж по каким причинам, но сентябрьское обновление было промежуточным экспресс-обновлением, и в нём было сразу сказано, что необходимо будет ставить следующее обновление.
|
iccup.platoon@vk |
01-02-2015 19:28 2464847 |
Может, так? =(
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
|
Время: 04:46.
© OSzone.net 2001-