[タイトル] lt ファイルのサイズ、属性、修正日時を表示(2GB以上のファイルに対応・修正日時はミリ秒まで表示) [注意事項] このソフトウェアの使用により何らかの問題が発生しても作者は責任を負いません。 [説明] このソフトウェアはファイルのサイズ、属性、修正日時を表示するツールです。 2ギガバイト以上のファイルにも対応します。日時はミリ秒まで表示します。 [仕様] lt [/p] [/l] [/w|/a|/c] [d:][file...] /p 一画面ごとに停止して表示します。 /l 小文字で表示します。 /w 最終更新日時を表示します。 /w /a /cのいずれも省略した場合も最終更新日時を表示します。 /a 最終アクセス日時を表示します。 /c 作成日時を表示します。 d ドライブ。省略するとカレントドライブとみなします。 file ファイル名。省略するとカレントディレクトリの全ファイルとみなします。 ワイルドカードを使用することができます。 隠しファイルも対象となります。 ディレクトリ名であった場合、ディレクトリ自身を示します。 \(ルートディレクトリ)の場合はルートディレクトリの全ファイルとみなします。 ルートディレクトリ自身の情報は表示できません。\.はエラーです。 ディレクトリの全ファイルを表示する場合はディレクトリ名の後ろに\*.*を つけます。 最終更新日時、最終アクセス日時、作成日時はいずれもプログラムから変更可能 です。期待する日時と一致しないことがあります。 MBCS\lt.exe OEMコードページ(シフトJIS(Microsoft コードページ932))で表示 します。 UNICODE\lt.exe UNICODE(UTF-16)で表示します。 UNICODEを使ったファイル名がある場合に正確なファイル名が必要ならUNICODE版を 使用すべきです。UNICODEを正しく扱えるエディタが必要です。UNICODEを一旦 シフトJISに変換して扱うエディタでは意味がありません。UNICODE版は Windows 95,98,Meでは動作しません。 [例] lt c:\ ドライブc:のルートディレクトリの全ファイルの情報を表示します。 lt \ カレントドライブのルートディレクトリの全ファイルの情報を表示します。 lt カレントドライブのカレントディレクトリの全ファイルの情報を表示します。 UNICODE\lt.exe M:\TEMP\*.* >uni.txt notepad uni.txt hd uni.txt utf16toms -p 0x3f -L uni.txt 正確なファイル名を調べます。 [制限] ルートディレクトリ自身の情報を表示することはできません。(MS-DOS/Windowsでは ルートディレクトリはファイルとしては扱われていないため) \(ルートディレクトリ)を指定するとルートディレクトリの全ファイルとみなします。 \以外の方法でルートディレクトリを指定した場合は正しく動作しません。たとえば ルートディレクトリで lt . を実行するとルートディレクトリ自身の情報を表示しよう としてエラーになります。 例 ルートディレクトリで lt . を実行するとエラーになります。 C:\>lt . C:lt: .:No such file or directory C:\> [参考情報] プラットフォーム SDK GetFileTime ファイルの作成日時、最終アクセス日時、最終更新日時を取得します。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpsysinf/html/_win32_getfiletime.asp 各日時の精度はOSやファイルシステムの種類に依存します。 NTFS におけるファイルとフォルダの日時について http://support.microsoft.com/kb/299648/ja Black Hat Japan 2005 - Unicode文字によるDirectory Traversal攻撃 http://pcweb.mycom.co.jp/articles/2005/11/07/blackhat/ UNICODE バグについて http://rocketeer.dip.jp/unicode/ http://rocketeer.dip.jp/unicode/unicodebug.pdf たとえばUNICODEではU+00A5(円記号)とU+005C(逆スラッシュ)は別ですが、(円記号) を使ったファイル名はUNICODEに対応しないアプリケーションからは\を含んでいる ように見えます。シフトJISでは\はディレクトリの区切りなのでファイル名に区切り を含んだ不正なファイルということになってしまいます。本ソフトウェアのUNICODE版 は(円記号)をディレクトリの区切りではないものとして正しく扱います。 UNICODE版のltもWindows 2000のdirもコンソールにはUNICODEで(円記号)を表示 します。ファイルへリダイレクトするとUNICODE版のltはそのままUNICODEで(円記号) を表示し、Windows 2000のdirはOEMコードページで(円記号)を\に置き換えて表示 します。cmd /u/c dirの場合はUNICODEで(円記号)を表示します。 (円記号)windows(円記号)test.txtというファイルの表示例 M:\OPT\SRC\LT\LT64>lt M:\TEMP\*windows*.txt 2006-01-01 02:10:50.562 0 A \windows\test.txt M:\OPT\SRC\LT\LT64>dir M:\TEMP\*windows*.txt ドライブ M のボリューム ラベルは 153GB です ボリューム シリアル番号は 00EE-B23A です M:\TEMP のディレクトリ 2006/01/01 02:10 0 \windows\test.txt 1 個のファイル 0 バイト 0 個のディレクトリ 65,402,261,504 バイトの空き領域 M:\OPT\SRC\LT\LT64>cmd /u/c dir M:\TEMP\*windows*.txt ドライブ M のボリューム ラベルは 153GB です ボリューム シリアル番号は 00EE-B23A です M:\TEMP のディレクトリ 2006/01/01 02:10 0 \windows\test.txt 1 個のファイル 0 バイト 0 個のディレクトリ 6,420,377,600 バイトの空き領域 M:\OPT\SRC\LT\LT64>lt M:\TEMP\*windows*.txt|hd 00000000 32 00 30 00 30 00 36 00 2D 00 30 00 31 00 2D 00 ; 2.0.0.6.-.0.1.-. 00000010 30 00 31 00 20 00 30 00 32 00 3A 00 31 00 30 00 ; 0.1. .0.2.:.1.0. 00000020 3A 00 35 00 30 00 2E 00 35 00 36 00 32 00 20 00 ; :.5.0...5.6.2. . 00000030 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 ; . . . . . . . . 00000040 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 ; . . . . . . . . 00000050 20 00 20 00 30 00 20 00 41 00 20 00 20 00 20 00 ; . .0. .A. . . . 00000060 20 00 A5 00 77 00 69 00 6E 00 64 00 6F 00 77 00 ; .・.w.i.n.d.o.w. 00000070 73 00 A5 00 74 00 65 00 73 00 74 00 2E 00 74 00 ; s.・.t.e.s.t...t. 00000080 78 00 74 00 0D 00 0A 00 ; x.t..... M:\OPT\SRC\LT\LT64>dir M:\TEMP\*windows*.txt|hd 00000000 20 83 68 83 89 83 43 83 75 20 4D 20 82 CC 83 7B ; ドライブ M のボ 00000010 83 8A 83 85 81 5B 83 80 20 83 89 83 78 83 8B 82 ; リューム ラベル 00000020 CD 20 31 35 33 47 42 20 82 C5 82 B7 0D 0A 20 83 ;は 153GB です.. 00000030 7B 83 8A 83 85 81 5B 83 80 20 83 56 83 8A 83 41 ;ボリューム シリア 00000040 83 8B 94 D4 8D 86 82 CD 20 30 30 45 45 2D 42 32 ; ル番号は 00EE-B2 00000050 33 41 20 82 C5 82 B7 0D 0A 0D 0A 20 4D 3A 5C 54 ; 3A です.... M:\T 00000060 45 4D 50 20 82 CC 83 66 83 42 83 8C 83 4E 83 67 ; EMP のディレクト 00000070 83 8A 0D 0A 0D 0A 32 30 30 36 2F 30 31 2F 30 31 ; リ....2006/01/01 00000080 20 20 30 32 3A 31 30 20 20 20 20 20 20 20 20 20 ; 02:10 00000090 20 20 20 20 20 20 20 20 20 20 20 30 20 5C 77 69 ; 0 \wi 000000A0 6E 64 6F 77 73 5C 74 65 73 74 2E 74 78 74 0D 0A ; ndows\test.txt.. 000000B0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 ; 1 000000C0 20 8C C2 82 CC 83 74 83 40 83 43 83 8B 20 20 20 ; 個のファイル 000000D0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ; 000000E0 30 20 83 6F 83 43 83 67 0D 0A 20 20 20 20 20 20 ; 0 バイト.. 000000F0 20 20 20 20 20 20 20 20 20 30 20 8C C2 82 CC 83 ; 0 個の 00000100 66 83 42 83 8C 83 4E 83 67 83 8A 20 20 36 35 2C ;ディレクトリ 65, 00000110 34 30 32 2C 33 31 38 2C 38 34 38 20 83 6F 83 43 ; 402,318,848 バイ 00000120 83 67 82 CC 8B F3 82 AB 97 CC 88 E6 0D 0A ; トの空き領域.. M:\OPT\SRC\LT\LT64>cmd /u/c dir M:\TEMP\*windows*.txt|hd -a 00000000 20 00 C9 30 E9 30 A4 30 D6 30 20 00 4D 00 20 00 ; ..0.0.0.0 .M. . 00000010 6E 30 DC 30 EA 30 E5 30 FC 30 E0 30 20 00 E9 30 ; n0.0.0.0.0.0 ..0 00000020 D9 30 EB 30 6F 30 20 00 31 00 35 00 33 00 47 00 ; .0.0o0 .1.5.3.G. 00000030 42 00 20 00 67 30 59 30 0D 00 0A 00 20 00 DC 30 ; B. .g0Y0.... ..0 00000040 EA 30 E5 30 FC 30 E0 30 20 00 B7 30 EA 30 A2 30 ; .0.0.0.0 ..0.0.0 00000050 EB 30 6A 75 F7 53 6F 30 20 00 30 00 30 00 45 00 ; .0ju.So0 .0.0.E. 00000060 45 00 2D 00 42 00 32 00 33 00 41 00 20 00 67 30 ; E.-.B.2.3.A. .g0 00000070 59 30 0D 00 0A 00 0D 00 0A 00 20 00 4D 00 3A 00 ; Y0........ .M.:. 00000080 5C 00 54 00 45 00 4D 00 50 00 20 00 6E 30 C7 30 ; \.T.E.M.P. .n0.0 00000090 A3 30 EC 30 AF 30 C8 30 EA 30 0D 00 0A 00 0D 00 ; .0.0.0.0.0...... 000000A0 0A 00 32 00 30 00 30 00 36 00 2F 00 30 00 31 00 ; ..2.0.0.6./.0.1. 000000B0 2F 00 30 00 31 00 20 00 20 00 30 00 32 00 3A 00 ; /.0.1. . .0.2.:. 000000C0 31 00 30 00 20 00 20 00 20 00 20 00 20 00 20 00 ; 1.0. . . . . . . 000000D0 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 ; . . . . . . . . 000000E0 20 00 20 00 20 00 20 00 20 00 20 00 30 00 20 00 ; . . . . . .0. . 000000F0 A5 00 77 00 69 00 6E 00 64 00 6F 00 77 00 73 00 ; ..w.i.n.d.o.w.s. 00000100 A5 00 74 00 65 00 73 00 74 00 2E 00 74 00 78 00 ; ..t.e.s.t...t.x. 00000110 74 00 0D 00 0A 00 20 00 20 00 20 00 20 00 20 00 ; t..... . . . . . 00000120 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 ; . . . . . . . . 00000130 20 00 20 00 31 00 20 00 0B 50 6E 30 D5 30 A1 30 ; . .1. ..Pn0.0.0 00000140 A4 30 EB 30 20 00 20 00 20 00 20 00 20 00 20 00 ; .0.0 . . . . . . 00000150 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 ; . . . . . . . . 00000160 20 00 20 00 20 00 20 00 20 00 30 00 20 00 D0 30 ; . . . . .0. ..0 00000170 A4 30 C8 30 0D 00 0A 00 20 00 20 00 20 00 20 00 ; .0.0.... . . . . 00000180 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 ; . . . . . . . . 00000190 20 00 20 00 20 00 30 00 20 00 0B 50 6E 30 C7 30 ; . . .0. ..Pn0.0 000001A0 A3 30 EC 30 AF 30 C8 30 EA 30 20 00 20 00 20 00 ; .0.0.0.0.0 . . . 000001B0 36 00 2C 00 34 00 32 00 30 00 2C 00 33 00 37 00 ; 6.,.4.2.0.,.3.7. 000001C0 37 00 2C 00 36 00 30 00 30 00 20 00 D0 30 A4 30 ; 7.,.6.0.0. ..0.0 000001D0 C8 30 6E 30 7A 7A 4D 30 18 98 DF 57 0D 00 0A 00 ; .0n0zzM0...W.... [動作環境] Windows 95/NT 4.0以降のコマンドプロンプト。(Win32 コンソール・ アプリケーション) MBCS\lt.exe Windows 95/NT 4.0以降 UNICODE\lt.exe Windows NT 4.0,2000,XP Windows 2000 Professional SP4 & IE6SP1で動作確認しています。 コマンドプロンプト(MS-DOSプロンプト)を開いて、コマンドプロンプトから実行 してください。 [インストール・アンインストール] インストールは適当なフォルダにexeファイルを置いてください。 アンインストールはexeファイルを削除してください。 レジストリは使用していません。 [作者連絡先] http://hp.vector.co.jp/authors/VA007219/#contact [その他] Copyright (C) 1996-2006 VA007219. MS-DOS用LT http://www.vector.co.jp/soft/dos/util/se044308.html をベースにした Win32対応版です。 このソフトウェアは無償で提供しています。 利用・再配布は無制限です。 不具合の報告、要望等ありましたら作者連絡先にメールをください。ただし対応できる とは限りません。 ソースコードの引用・改変・他のソフトウェアでの利用に作者の許諾は必要ありません。 hd http://www.vector.co.jp/soft/win95/util/se328128.html UTF-8,UTF-16相互変換(utf16toms) http://www.vector.co.jp/soft/win95/util/se364441.html BUG: FindFirstFile() Does Not Handle Wildcard (?) Correctly http://support.microsoft.com/kb/130860/en-us BUG:FindFirstFile()は、ワイルドカード(?)を処理しません。 正しく。 http://support.microsoft.com/kb/130860/ The FindFirstFile API incorrectly returns error code ERROR_NO_MORE_FILES (18) when you are searching an OS/2 Warp server share from a Windows 2000-based computer http://support.microsoft.com/kb/841524/en-us OS/2 ワープ サーバー共有を検索いるしたら ERROR_NO_MORE_FILES(十八)のコードを Windows 2000 ベースのコンピュータから FindFirstFile API 間違ってリターン エラーが記述します。 http://support.microsoft.com/kb/841524/ [履歴] 1版 2006/01/02 2版 2006/04/16 ・UNICODE版のエラーメッセージ表示の一部がMBCSだったのを修正しました。 3版 2006/05/04 ・ジャンクション、暗号化、圧縮、スパースファイルの表示に対応しました。