1

ロックファイルの変更日が5秒以上前か、それとも将来か(PCの時計が元に戻されたことを示す)かどうかを確認したい。

どうすればいいですか

  • file.modifydate<now-5秒またはmodifydate>nowの場合
    • コマンドaを実行します(コマンドaはJavaアプリを起動します)
  • そうしないと
    • コマンドbを実行します(コマンドbはUDPパケットをローカルホストポートに送信します)
4

1 に答える 1

2

Wimmelが提案したように、私はVBScriptを使用します。実際には、VBScriptが通常使用されるのと同じ方法でJScriptを使用します...私はすでにJavaScriptに精通しているためです。

私はこの質問を投稿しました:Windows XP以降:VBScriptの代わりにJavaScript?

これは私が使用するコードを持っています

変更日時を確認するため

var o = new ActiveXObject("Scripting.FileSystemObject");
var file = o.GetFile("c:\\temp\\test.js");
// WScript.Echo(file.DateLastModified); // This is the modify date/time with seconds

Javaプロセスを実行するためのコード

WshShell = WScript.CreateObject("WScript.Shell");
var result = WshShell.Run("command-goes-here", 0, true);
// WSH.Echo(result); // this is the exit code

コマンドbは、Windows BATまたはCMDからの提案の1つを使用してUDPパケットを送信することです:ローカルホストのudpポートにデータを送信します

VBScript / JScriptを使用した場合、コマンドはおそらく同じであるため、正常に機能するはずです。

不足しているのは次のとおりです。VBScript/JScriptネットワーク:UDPまたはTCPのいずれかを接続します

ネイティブ関数を使用できれば、コマンドbの実行よりも間違いなく優れています。

于 2011-06-17T16:27:22.300 に答える