• ベストアンサー

ファイルのタイムスタンプを取得する方法

こんにちは。 WindowsNT4.0で、フォルダにあるファイルの タイムスタンプを秒まで取得したいのですが どのようにすればよいのでしょうか? dirコマンドだと時分しか出ないので困ってしまいました。 プログラミングが必要だとすれば、どのような コードをかけばよいのでしょうか? できればC言語で。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

1.FindFirstFile()、FindNextFile()を使ってファイルを列挙。同時にタイムスタンプも取得可能。 http://www14.big.or.jp/~ken1/tech/tech5.html 2.FileTimeToLocalFileTime()でUTCからローカル時刻に変更 3.FileTimeToSystemTime()でシステムの時間形式に変更。 こんな感じかと。 ただし、NT4.0の場合適切なタイムゾーンが設定されていないと9時間ずれる場合があるので、そのときは2の処理を省略してください。

labrakun
質問者

お礼

take_tetsuさんありがとうございました。 ご教示頂いた方法でできました。 ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

できればC言語でということですが、VBScriptを使うのが簡単です。 以下のプログラムを適当な名前(filesDate.vbsとか)で保存して、取得したいフォルダのコマンドプロンプトで cscript filesDate.vbs とします。 ----------------------------------------------- Dim fso, folder, x Dim wsho, ret Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(".") Set wsho = WScript.CreateObject("WScript.Shell") For Each x in folder.files WScript.Echo x.Name & " " & x.DateLastModified next

labrakun
質問者

お礼

BLUEPIXYさん、ありがとうございました。 この方法でもやってみたらうまくいきました。 どうもありがとうございました。

関連するQ&A

  • ファイル・タイムスタンプの取得

    ExcelVBAを使用しています。 FileDateTime()を使用すると、起動時の日時が取得されます・ これは、Excelを起動すると、 (1)ファイル・タイムスタンプが起動した時の時間に置き換わる。 (2)保存なしで終了すると、起動前の元のタイムスタンプに戻る、 の為と思われます。 起動前の元のタイムスタンプを取得する方法がありましたら ご教示よろしくお願いします。

  • ファイルのタイムスタンプの取得

    UNIXにて プログラムを組まないで、ファイルのタイムスタンプの 取得方法がありますか?ご存知の方は教えてください。 以上、宜しくお願いします。

  • WSHを使ってファイルタイムスタンプを取得したいのですが

    WSHを使ってファイルタイムスタンプを取得したいのですが Set src = fso.GetFile(

  • タイムスタンプを変えないでコピーする方法

    ホームネットワーク内のPC間で、データをコピーした際、ファイルのタイムスタンプは不変なんですが、 フォルダーのタイムスタンプが変わってしまいます(コピーした時点のタイムスタンプになってしまいます)。 フォルダーのタイムスタンプを変えないようにして、コピーすることは可能でしょうか? ご教示よろしくお願い致します。

  • c言語でファイルのタイムスタンプを書き換えたい

    Linuxの環境でc言語を利用してファイルのアクセス日時と更新日時を指定したモノに書き換える方法はないでしょうか stat関数を利用して取得する方法まではわかったのですが書き換える方法がわかりません それともファイルのタイムスタンプはユーザーが勝手に書き換える事ができないものだったりするのですか?

  • PHPでタイムスタンプ以外の更新日を取得する方法は

    filemtimeで更新日を取得できますが、これはタイムスタンプですよね。 2038年問題を考えると、タイムスタンプを使うものは極力避けたいと思っております。 DateTimeみたいに、タイムスタンプ以外のもので、ファイルの更新日を取得できるものはありませんか?

    • ベストアンサー
    • PHP
  • ファイルアップロード時のタイムスタンプ

    PHPで画像ファイルをアップロードした際、 ファイルのタイムスタンプが更新されてしまいます。 あとで、アップされたファイルのタイムスタンプをみて処理させたいのですが 、タイムスタンプ(作成日時、更新日時)を更新させないでアップロードする方法はありますでしょうか。 アップロードする前のタイムスタンプをあらかじめ取得し、DBなどに登録しておいたほうがいいのかもしれませんが、できれば画像ファイルのタイムスタンプを更新させないでアップロードしたいです。

    • ベストアンサー
    • PHP
  • FTPでのディレクトリのアップロード方法とタイムスタンプ

    (1)FTPでのディレクトリのアップロード方法 DOS窓から、FTPコマンドで、FTPサーバーにログインし、putやmputでファイルをアップロードする際に、ディレクトリをアップロードする方法をご存知の方がいらっしゃれば教えてください。 サブフォルダ以下すべて、ディレクトリ構成ごとアップロードしたいと考えています。FFFTP等のツールを使わずにコマンドラインからやりたいと思っています。 (2)FTP時のタイムスタンプ WindowsのクライアントPCから、UNIXのサーバーにファイルをアップロードすると、タイムスタンプがファイルをアップロードした時間に置き換わってしまい、もともとのタイムスタンプが書き換えられてしまいます。タイムスタンプをそのままにしてアップロードすることが可能であれば、教えてください。できれば、コマンドラインからがいいですが、不可能ならFFFTP等のツールを使用しようと思っています。 よろしくお願い致します。

  • Windowsのファイル・フォルダのタイムスタンプ

    Windows10ですが、ファイルやフォルダを作成してもすぐに忘れてしまうことがあります。その理由としてあるディレクトリ(フォルダ)\Aのサブのディレクトリ\A\Bを変更したりしても元のフォルダ\Aのタイムスタンプが変更されないということがあるように思います。ディレクトリの深いところで何らかの更新をするとそれが上のディレクトリのタイムスタンプを更新するというような設定はないのでしょうか。 技術的に難しい感じはしないのですが、そうしない理由は何でしょうか。フォルダを作った日にちをいつまでもキープしておきたいということでしょうか。 また、フォルダをコピーするとコピーした日がスタンプされますね。移動はどうなるでしょうか(実験すればすぐですが)。タイムスタンプの考え方とはどのようなことになるでしょうか。また、タイムスタンプの付け方の設定変更はできないでしょうか。

  • ファイルやフォルダのタイムスタンプ

    WindowsXPやVistaではファイルやフォルダに 作成日、更新日などのタイムスタンプがあります。 このタイムスタンプはどういう際に付与されるでしょうか? 通常の 新規作成で保存→更新 というのであれば作成日、更新日で理解できます。 ただ、ファイルのコピー、ファイルのダウンロード、圧縮、解凍時も 影響してそうです。 それに時々、作成日が更新日より若いといったことにも出くわします。 もちろん、操作するPCの時間が狂っていたからという理由もなくは ないと思いますが、自分の感覚ではそれ以外の理由が大きく感じています。私が考えている(私の感覚の)、タイムスタンプのつく予想と 大きくかけ離れている気がします。 どなたか詳しい方がいらっしゃいましたら、 "基本的なタイムスタンプの考え方"を教えていただければと思います。 よろしくお願いします。