在系统时钟上运行批处理文件中的命令

在系统时钟上运行批处理文件中的命令

我的互联网连接有两个不同的连接。第一个连接从早上 7 点到晚上 10 点。第二个连接从晚上 10 点到第二天早上 7 点。对于每个连接,我都创建了一个批处理文件来连接到互联网。在每个文件中分别使用命令“rasdial connectionA ......”。现在我想创建另一个批处理文件,执行时根据系统时钟自动执行其中一个文件。例如,如果是早上 9 点,识别出现在是早上 7 点到晚上 10 点之间的时间,因此运行“A”文件。请告诉我它的命令是什么?我的英语不好,所以很抱歉。

答案1

使用 PowerShell,这应该对你有用:

$CurrentHour = (Get-Date).Hour
if ($CurrentHour -ge 7 -and $CurrentHour -le 22)
{
    <# Insert commands for 7 AM to 10 PM connection here. #>
}
else
{
    <# Insert commands for 10 PM to 7 AM connection here. #>
}

PowerShell 的优点在于它仍保留对通常使用 CMD/batch 的命令的访问权。因此,您应该能够将rasdial命令放在上面的注释行中。

如果您想运行测试以确保 if 语句正常工作,可以使用Get-Date参数设置所使用的时间-Hour。例如,将第一行更改为$CurrentHour = (Get-Date -Hour 10).Hour测试上午 10 点内的时间。

不幸的是,除非您将操作系统升级到 Windows 8 或 Windows 8.1,否则 PowerShell 不会获得大量本机网络命令。您可能可以通过访问底层 .NET Framework 对象来实现这一点,但目前最好还是坚持下去rasdial

相关内容