zoukankan      html  css  js  c++  java
  • Windows把执行命令值赋值给变量

      Linux执行命令可以通过``把命令执行结果赋值给变量,想要在Windows下实现类似功能需要使用for

      例如需要判断一个URL是否有效,可以使用命令curl

    C:Usersliuym>curl -IL 192.168.1.232
    [0x7FFF95BBD370] ANOMALY: meaningless REX prefix used
    HTTP/1.1 200 OK
    Server: nginx/1.14.0
    Date: Tue, 18 Aug 2020 07:05:01 GMT
    Content-Type: text/html
    Content-Length: 5600
    Last-Modified: Thu, 13 Dec 2018 09:34:53 GMT
    Connection: keep-alive
    ETag: "5c1227bd-15e0"
    Accept-Ranges: bytes
    

       使用find把包含HTTP的行数显示出来

    C:Usersliuym>curl -IL 192.168.1.232|find /i /c "HTTP"
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0  5600    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    1
    

       数值为1 

    参数解释
    /i 忽略大小写
    /c 仅仅统计出现关键词的行数
    

       通过for命令把输出赋值给变量

    C:Usersliuym>for /f %i in ( 'curl -IL 192.168.1.232 ^| find /i /c "HTTP" ') do set url_num=%i
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0  5600    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    
    C:Usersliuym>set url_num=1
    

       注意:需要在此处使用管道符号需要在前面加符号^如果是直接命令行使用管道无需加符号

         如果是写在脚本里面变量参数需要多加一个%符号,即%%

    for /f %%i in ( 'curl -IL 192.168.1.232 ^| find /i /c "HTTP" ') do set url_num=%%i
    

      

  • 相关阅读:
    HDU 六度分离
    HDU 找到唯一的冠军
    最短路径问题
    (拓扑排序)确定比赛名次
    Shortest Prefixes
    2768: [JLOI2010]冠军调查( 最小割 )
    BZOJ 1927: [Sdoi2010]星际竞速(最小费用最大流)
    BZOJ 1221: [HNOI2001] 软件开发(最小费用最大流)
    BZOJ 2424: [HAOI2010]订货(最小费用最大流)
    BZOJ 1191: [HNOI2006]超级英雄Hero(二分图匹配)
  • 原文地址:https://www.cnblogs.com/minseo/p/13523664.html
Copyright © 2011-2022 走看看