BAT:基于文件修改日期的 if 语句

发布于 2024-11-15 09:20:46 字数 237 浏览 4 评论 0原文

我想查看锁定文件的修改日期是否超过 5 秒前或将来(表明 PC 时钟已改回)。

我该怎么说

  • 如果 file.modifydate < 现在 - 5 秒或修改日期 >现在
    • 运行命令 a(命令 a 将启动我的 Java 应用程序)
    • 运行命令b(命令b将向本地主机端口发送UDP数据包)

I want to see if a lock file modify date is more than a 5 seconds ago or it in the future (indicating the PC clock was changed back).

How can I say

  • if file.modifydate < now - 5 seconds or modifydate > now
    • run command a (command a will launch my Java app)
  • else
    • run command b (command b will send a UDP packet to a localhost port)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里的微风 2024-11-22 09:20:46

正如 Wimmel 所建议的,我将使用 VBScript - 实际上我将以与通常使用 VBScript 相同的方式使用 JScript...因为我已经熟悉 JavaScript。

我发布了这个问题: Windows XP 及更高版本:JavaScript 而不是 VBScript?< /a>

其中包含我将

用于检查修改日期/时间的

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:将一些数据发送到本地主机 udp 端口​​

如果我使用 VBScript/JScript,这些命令可能是相同的,因此它们应该可以正常工作。

唯一缺少的是: VBScript/JScript 网络:连接 UDP 或 TCP

如果我可以使用本机函数,它肯定比命令 b 的 exec 更好。

As Wimmel suggested, I will be using VBScript - well actually I will be using JScript in the same way VBScript would normally be used... because I am already familiar with JavaScript.

I posted this question: Windows XP and Up: JavaScript instead of VBScript?

Which has the code I will be using

for checking modify date/time

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

and code to exec my Java process

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

command b will be to send the UDP packet using one of the suggestions from Windows BAT or CMD: send some data to a localhost udp port.

The commands would probably be the same if I used VBScript/JScript so they should work fine.

The only thing missing is: VBScript/JScript Networking: Connect either UDP or TCP

If I could use a native function, it would definitely be better than an exec of command b.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文