Я использовал следующую команду для получения даты файла. Однако fileDate
переменная возвращала пустое значение с тех пор, как мы переместились в другой сервер (Windows Server 2003).
FOR /f %%a in ('dir myfile.txt^|find /i " myfile.txt"') DO SET fileDate=%%a
Там какой-либо другой более надежный путь состоит в том, чтобы получить дату файла?
Изменение %
на %%
Для использования в пакетном файле для % ~ TA
Syntax Enter Call / ?
for %a in (MyFile.txt) do set FileDate=%~ta
Это работает для меня на Vista. Некоторые вещи, чтобы попробовать:
заменить Найти
с полностью квалифицированным путем команды поиска. Найти
- это общее имя инструмента. Существует Unix Seept, которая очень разум из встроенной находки Windows. Как это:
для / f %% a в ('dir ^ |% windir% \ system32 \ find.exe / i "myfile.txt"') Установите filedate = %% A
Осмотрите выход Команда в окне cmd.exe. Для этого вам нужно заменить %% с%.
Для / F% A в («DIR ^ | C: \ Windows \ System32 \ find.exe / i» myfile.txt "') do filedate =% A
, которые могут дать вам некоторые идеи.
Если это отображается как пробел, то опять же, в командной строке попробуйте:
Dir | C: \ Windows \ System32 \ find.exe / i "myfile.txt"
Это должно показать вам, что вам нужно увидеть.
Если вы все еще не можете понять это из этого, отредактируйте свой пост, чтобы включить то, что вы видите из этих команд, и кто-то поможет вам.
Вы можете получить файлы модифицированной даты с использованием VBScript
Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
strFile= objArgs(0)
WScript.Echo objFS.GetFile(strFile).DateLastModified
Сохранить вышеупомянутую как momettdate.vbs и в командной строке
c:\test> cscript //nologo mygetdate.vbs myfile
Какой вывод (точно) DIR myfile.txt
Дайте в текущем каталоге? Что произойдет, если вы устанавливаете разделители?
FOR /f "tokens=1,2* delims= " %%a in ('dir myfile.txt^|find /i " myfile.txt"') DO SET fileDate=%%a
(обратите внимание на пространство после DELIMS =
)
(Чтобы облегчить жизнь, вы можете сделать это из командной строки, заменив %% A
с % A
)