如何在Windows批处理脚本中检查URL是否有效

时间:2011-09-30 08:01:48

标签: windows url batch-file

我是Windows批处理脚本的新手。我有一个问题。

在Windows批处理脚本中,我如何知道变量是否是有效的URL?

示例:

有效网址:

  

URL = https://stackoverflow.com/questions/ask

网址无效:

  

url =不是有效的网址

3 个答案:

答案 0 :(得分:4)

您可以使用FINDSTR通过将其与正则表达式进行匹配来验证您的URL。请参阅此Stack Overflow问题Regular expressions in findstr

的答案

基本上你必须明白

  1. 如何使用FINDSTR及其/ R开关。请参阅HELP FINDSTR

  2. 如何编写正则表达式以匹配和验证网址。谷歌的正则表达式教程。

    提示:(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

  3. 以及如何在批处理文件中解释FINDSTR结果。请参阅HELP FOR

答案 1 :(得分:1)

这很简单,在大多数情况下应该有效:

setlocal enableextensions enabledelayedexpansion
set URL=url to test
if not x%URL:http://=%==x%URL% goto http
if not x%URL:https://=%==x%URL% goto http
if not x%URL:ftp://=%==x%URL% goto ftp
REM else
echo invalid url!

答案 2 :(得分:-1)

不要打扰。无论你使用什么,都不会与你将要运行的程序使用的任何规则相同。让程序决定。