Windows 查询特定字符串的文本文件

Windows 查询特定字符串的文本文件,windows,scripting,juniper-network-connect,Windows,Scripting,Juniper Network Connect,我不知道从哪里开始,所以如果它看起来混乱,请提前道歉 我想查询.DAT文件(.txt格式)中特定文本字符串的内容。理想情况下,它需要返回一个错误级别,以便在需要时确定后续命令。我不确定这种事情是否可能发生 我将给出更多上下文的场景。我需要更新最终用户设备上Juniper VPN客户端的连接设置。我只想更新连接文件(.DAT文件)中没有特定文本字符串的客户端。所以我想编写一个脚本,它首先查询连接文件,然后根据查询的响应运行一个命令 从我已经做过的研究来看,这种事情似乎只有SQL才可能实现。我曾考虑

我不知道从哪里开始,所以如果它看起来混乱,请提前道歉

我想查询.DAT文件(.txt格式)中特定文本字符串的内容。理想情况下,它需要返回一个错误级别,以便在需要时确定后续命令。我不确定这种事情是否可能发生

我将给出更多上下文的场景。我需要更新最终用户设备上Juniper VPN客户端的连接设置。我只想更新连接文件(.DAT文件)中没有特定文本字符串的客户端。所以我想编写一个脚本,它首先查询连接文件,然后根据查询的响应运行一个命令

从我已经做过的研究来看,这种事情似乎只有SQL才可能实现。我曾考虑过将一份文件与另一份文件进行比较,但我认为这太容易造成误判

任何帮助都将不胜感激

更新

我已设法使用PowerShell查询文件:

get-content -path 'C:\Program Files\Common Files\Juniper Networks\ConnectionStore\connstore.bak' | where-object {$_ -like '*DR Connection*'}
 friendly-name: "DR Connection"

我想我会发布解决我问题的最终脚本,以防其他人遇到这个问题

#File to search for along with what word to search for
$File = Get-Content "C:\Program Files\Common Files\Juniper Networks\ConnectionStore\connstore.bak" | Where-Object { $_.Contains("remotedr") }

#read-host -Prompt "Proceed?"
#write-host "Contents of var: $file"

#If the $file variable is NULL, then run the .BAT file
If($file -eq $null) {
write-host "Launching BAT file..."
    Start-Process -FilePath 'JuniperConfig.cmd' -Wait
#.BAT file will run until it finishes, then the script will continue
}

#Otherwise, do nothing
Else {
write-host "Do nothing"
}

#write-host
#read-host "Pausing. Press ENTER to continue."

谢谢

你为什么不问问你正试图解决的问题,而不是你心中的解决方案(这太模糊了,甚至不知道它是否适用,但可能不适用)。嗨。我已经给出了上下文问题的场景。无论是“.DAT”还是“.txt”都不是文件格式。这些都是扩展,内容可以是任何内容。这些文件有什么语法?XML?INI格式?还有别的吗?您使用的是什么脚本环境?一批?动力地狱?还有什么?它们是INI格式的。到目前为止,我已经尝试使用批处理和VB。