ロックファイルの変更日が5秒以上前か、それとも将来か(PCの時計が元に戻されたことを示す)かどうかを確認したい。
どうすればいいですか
- file.modifydate<now-5秒またはmodifydate>nowの場合
- コマンドaを実行します(コマンドaはJavaアプリを起動します)
- そうしないと
- コマンドbを実行します(コマンドbはUDPパケットをローカルホストポートに送信します)
ロックファイルの変更日が5秒以上前か、それとも将来か(PCの時計が元に戻されたことを示す)かどうかを確認したい。
どうすればいいですか
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の実行よりも間違いなく優れています。