3

pywin32 pywintypes.DosDateTimetoTime を使用して、DOS パックの日付/時刻構造を Python で読み取り可能な時刻形式に変換した人はいますか?

この関数の使用方法、必要なパラメーター、および形式に関する多くのドキュメントを見つけることができません。

古い DOS バックアップ ファイルからファイルを抽出するスクリプトに取り組んでおり、基本的に古い DOS 復元コマンドを複製しようとしています。http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/restore/brtecdoc.htmにあるバックアップ ファイルの形式に基づいてファイルを抽出する作業を行っています。

ありがとう、ジェイ

4

1 に答える 1

1

DosDateTimeToFileTimeの最初の 2 つのパラメーターと同じ 2 つのパラメーター (16 ビット整数) を 取ります。

pywin32 のソース コード PyWinTypesmodule.cpp で確認できます。

static PyObject *PyWin_DosDateTimeToTime(PyObject *self, PyObject *args)
{ 
    WORD wFatDate, wFatTime;
    if (!PyArg_ParseTuple(args, "hh", (WORD *)&wFatDate, (WORD *)&wFatTime))
        return NULL;
    FILETIME fd;
    If (!DosDateTimeToFileTime(wFatDate, wFatTime, &fd))
      return PyWin_SetAPIError("DosDateTimeToFileTime");
}

これらは、このMSDN リンクで説明されている形式である必要があり、便宜上、関連する部分を以下にコピーする必要があります。

wFatDate [in]
The MS-DOS date. The date is a packed value with the following format.
    Bits    Description
    0-4     Day of the month (1–31)
    5-8     Month (1 = January, 2 = February, and so on)
    9-15    Year offset from 1980 (add 1980 to get actual year)

wFatTime [in]
The MS-DOS time. The time is a packed value with the following format.
    Bits    Description
    0-4     Second divided by 2
    5-10    Minute (0–59)
   11-15    Hour (0–23 on a 24-hour clock)
于 2012-10-01T16:35:41.777 に答える