DOSコマンドについて、お尋ねいたします。あるフォルダに格納されている各フォルダ、各ファイルのタイムスタンプを取得しようと思います。OSはWinXP/Proです。


DOS窓(コマンドプロンプト)で実行できるバッチファイルを作ろうとしています。欲しいのは、各フォルダや各ファイルの、作成日時・更新日時・アクセス日時の3種類です。

dirコマンドのオプションで、/TCや/TAを指定すると、作成日時やアクセス日時が出るのは分かったのですが、それぞれ、別途実行しないといけないようです。対象のファイル等ごとに、1行内でまとめて出力させたいのです。

dirコマンドだけでは、無理なのでしょうか? 代わりとなるバッチファイルは、どのようなモノが良いでしょうか?

ズバリのお答えのみ、お待ちしております。よろしくお願いいたします。

希望出力の例:

順に作成、更新、アクセスが並んでいるイメージです。
2004/06/08 13:50 2004/06/08 13:52 2004/06/08 13:53 aho.txt
2004/05/10 15:40 2004/06/08 13:53 2004/06/08 13:54 <DIR> WINDOWS

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/06/08 16:41:58
  • 終了:--

回答(7件)

id:satox No.1

SATOX回答回数4ベストアンサー獲得回数02004/06/08 18:04:05

ポイント10pt

URLはダミーです。

まず、ご希望のフォーマットでの出力はDOS

コマンドでは難しいかと思います。

cx20さんのVBScriptを保存する際、全角文字

「”」と「’」をそれぞれ半角に変換してあげると正しく動作することを確認しました。

半角が全角になってしまうのは、はてなの仕組み上の問題でしょう。

id:kodomono-omocha No.2

kodomono-omocha回答回数406ベストアンサー獲得回数62004/06/08 18:11:05

ポイント10pt

http://forum.nifty.com/fpcu/top/dostree.htm

@nifty:フォーラム@nifty:PC Users' Guide Forums

ここの方々がプロフェッショナルです。

id:kuwakun No.3

kuwakun回答回数9ベストアンサー獲得回数02004/06/08 22:00:02

ポイント10pt

DOSコマンドでは、一回ではできそうになささそうに思えます。その代わりと言ってはなんですが、「まめFile2」では、

cvsファイルに出力可能です

id:mue No.4

mue回答回数240ベストアンサー獲得回数62004/06/09 00:45:45

ポイント10pt

http://www.hatena.ne.jp/1086680518

DOSコマンドについて、お尋ねいたします。あるフォルダに格納されている各フォルダ、各ファイルのタイムスタンプを取得しようと思います。OSはWinXP/Proです。 DOS窓(コマ.. - 人力検索はてな

cs20氏の御回答中のvbsファイルは、ちょっと修正する必要があります。

ファイル中に含まれる「’」(アポストロフィ)と「”」(ダブルクォーテーション)を、全て対応する半角文字(「’」(と「”」に置換しましょう。

正常動作は確認しました。

なお、ノートンインターネットセキュリティなどが稼動している場合は、「悪質な...」といったメッセージが出る場合がありますが、問題ありません。

id:sakugo No.5

sakugo回答回数11ベストアンサー獲得回数02004/06/09 01:56:20

ポイント10pt

dirコマンドだけでは、無理。(だと思います)編集が必要と思います。適当なファイルに各々リダイレクションしてみては?

id:cx20 No.6

cx20回答回数607ベストアンサー獲得回数1082004/06/08 17:37:57

ポイント25pt

URL はダミーです。

↓ こんな感じでいかがでしょう?

以下のプログラムを「FileList.vbs」という名前で保存し、

CScript //NoLogo FileList.vbs

と実行してください。

’ FileList.vbs

’ Usage : CScript //NoLogo FileList.vbs

Dim fso

Set fso = CreateObject(”Scripting.FileSystemObject”)

Dim folder

Set folder = fso.GetFolder(”.”)

Dim subFolder

For Each subFolder In folder.SubFolders

WScript.Echo _

subFolder.DateCreated & ” ” & _

subFolder.DateLastModified & ” ” & _

subFolder.DateLastAccessed & ” ” & _

”<DIR> ” & subFolder.Name

Next

Dim file

For Each file In folder.Files

WScript.Echo _

file.DateCreated & ” ” & _

file.DateLastModified & ” ” & _

file.DateLastAccessed & ” ” & _

file.Name

Next

id:Mugicha2004

ご回答、ありがとうございます。DOSコマンドが希望だったのですが、こちらはVBスクリプトでしょうか?

よく分かりませんが、ご指摘のとおりファイルを作り、実行すると、

C:¥>CScript //NoLogo FileList.vbs

C:¥FileList.vbs(1, 1) Microsoft VBScript コンパイル エラー: 文字が正しくありません。

との表示でした。DOSコマンドだけでは、難しいということなのでしょうか?

2004/06/08 17:43:18
id:cx20 No.7

cx20回答回数607ベストアンサー獲得回数1082004/06/08 17:54:52

ポイント50pt

URL はダミーです。

> こちらはVBスクリプトでしょうか?

そうです。

CScript は、VBScript を実行するためのプログラム(WSH)です。

> コンパイル エラー: 文字が正しくありません。

先ほどのサンプルコードですが、

「’」「”」が全角文字になっていますので、

半角にして実行してください。

(「はてな」にソースコードを添付すると文字が全角に変換されてしまうため。)

それか、先ほどのダミーとして紹介した URL

にソースコードを置いておきましたので、これをご使用下さい。

> DOSコマンドだけでは、難しいということなのでしょうか?

DOS コマンド単体では難しいような気がします。

(そういう外部コマンド(EXE)を作れば OK ですが。)

ちなみに、バッチファイルだけでも、工夫すれば出来なくはないと思いますが、

ちょっと複雑になりそうなのでやめておきます。

id:Mugicha2004

大変に詳細なご回答をいたたき、恐縮しております。ありがとうございます。

全角/半角のために、エラーになっていたのですね。知識がないために、オロオロしておりました(__)。

記載していただいたページより、ファイルを取得しました。早速、実行したところ、希望とおりの出力が得られました。

DOSコマンドだけでは難しいとのこと、了解です。

他の方にもご回答をいただいたいるようですが、これで十分ですので、ひとまず、終了しようと思います。

2004/06/09 09:25:44
  • id:cx20
    回答オープンしておきました。

    今更ですが、回答オープンしておきました。

    記号が全角になってしまうのは色々と不便ですよねぇ。
    あと、空白文字(スペース)も取り除かれてしまうので、
    せっかくインデントをそろえて見栄えよく回答したつもりが
    読みにくくなってしまうことが多々あります。

    最近は、自分のWebサイトにソースを貼り付けて回答したりしてるんですが、
    それでもちょっと面倒です。
    せめて、はてなの回答時に「テキストファイルを添付」する機能があれば、
    便利だと思うのですがいかがでしょう?
    (本当は、色んなファイルを添付できると便利なんでしょうけど、
    サイズが大きくなりそうなので、とりあえずテキストファイルの添付機能のみを希望。)

    あとで、アンケートを取ってみようかと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません