0

Javascript構文を使用して、WSHで簡単なファイル比較を試みています。Windows XP SP3 を使用しており、スクリプトは Cscript.exe を介して実行されます。

私の問題は、File オブジェクトの dateLastModified プロパティに起因します。これは、getDay() や getFullYear() などの通常の日付操作関数を処理しません。

Microsoft Javascript には 2 種類の日付があるようです。コードのサンプルは次のとおりです。

var fso = WSH.CreateObject("Scripting.FileSystemObject")
f = fso.getFile('C:\\WINDOWS\\notepad.exe')
WSH.echo(f.Name)
WSH.echo(f.dateLastModified +" |type = "+ typeof(f.dateLastModified))


var d = new Date()
WSH.echo(d +" |type = "+ typeof(d))

そして、ここに私が得る出力があります

Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

notepad.exe
Sun Apr 13 19:34:16 UTC+0200 2008 |type = date
Tue Jul 17 14:28:08 UTC+0200 2012 |type = object

そしてもちろん、私が試してみると:

WSH.echo( f.dateLastModified.getFullYear() )

f.dateLastModified はオブジェクトではないというエラーが表示されます

だから、私は古典的な Date オブジェクトを操作する方法を知っていますが、fileSystemObject が私に与えているこの日付型について同じことを行うにはどうすればよいでしょうか?

あるタイプを別のタイプに変換することはできますか?

4

1 に答える 1

2

値をオブジェクト コンストラクターのパラメーターとして使用して新しいオブジェクトを作成することにより、date値をオブジェクトに変換できます。以下の例のように:DateDate

var fileDate = new Date( f.dateLastModified );
WSH.echo( fileDate + ' |type = ' + typeof(fileDate) );
WSH.echo( fileDate.getFullYear());

Dateオブジェクトをdate値に変換するには、次を使用します。

var dateVal = fileDate.getVarDate();
WSH.echo( dateVal + ' |type = ' + typeof(dateVal) );
于 2012-07-17T15:19:10.020 に答える