zoukankan      html  css  js  c++  java
  • Windows cmd

    Windows cmd

    对于跨平台的程序,通常会提供一些有用的命令行工具,因此shell脚本、bat脚本文件就必不可少了。网络上shell的书、文章都不少的,所以了解起来会相对容易的多,而windows下的bat网上则少有涉及。这里不打算写windows bat 编程大全,而是简单对bat做一个简单的入门级的学习。

    不论在写shell,还是bat,它们的设计都遵守这样一条原则:一切都是命令。Windows下命令是大小写不敏感的。

    基本命令(rem, echo, @,/?)

    rem:注释 (comment, remarks)。参数可以是任何内容。

    echo :它有两个功能:打印消息、调试开关。如果参数是on 或者off,代表打开、关闭调试,如果后面是其它内容,则参数代表要输出的消息。为什么说是debug开关呢?如果设置了echo on,随后执行的任何命令及其执行结果都会输出到标准输出流。

    @用于关闭某个命令的调试信息,意思是说使用@标注的命令不会打出命令本身、执行结果。

    /? 查看命令帮助

    例如:

    REM open the cmd echo
    @echo on
    echo hello, windows cmd 
    @echo hello, windows cmd 
    
    REM close the cmd echo
    @echo off
    echo hello, windows cmd 
    @echo hello, windows cmd

    执行结果: 

    D:Notewindows cmd>REM open the cmd echo
    
    D:Notewindows cmd>echo hello, windows cmd
    hello, windows cmd
    hello, windows cmd
    
    D:Notewindows cmd>REM close the cmd echo
    hello, windows cmd
    hello, windows cmd


    对于REM的命令,也是会打到STD里,如果不希望看到,就可以使用@标注。 

    控制命令(if-else, for-in-do, goto)

    if-else

    if [noterrorlevel number command [else expression] 基于上一个命令执行的结果进行判定操作

    if [notstring1==string2 command [else expression] 判定两个字符串是否相等

    if [notexist FileName command [else expression]  判定指定的文件是否存在

    If command extensions are enabled, use the following syntax:

    if [/istring1 CompareOp string2 command [else expression] 进行字符串比较 (equ, neq, lss, leq, gtr, geq)

    if cmdextversion number command [else expression]

    if defined variable command [else expression]

     

     

    For-in-do

    循环执行,命令语法:

    for {%variable | %%variable} in (set) do command [CommandLineOptions]

    1)For, in, do 是基本结构,必不可少;

    2){%variable | %%variable} 必要的,变量大小写敏感。

    在命令提示符中执行for时,for中引用变量时,使用%

    在批处理文件中执行for时,for中引用变量时,使用%%

    此外,为了避免与bat文件的参数 %0到 %9相冲突,所以变量不能是0-9的数字

    3)( set ) 必要的。用于指定多个 files, directories, range of values, textstrings。括号不能省。

     

    4)command 必要的,代表要执行的命令。

    5)commandLineOptions, 执行command时所需的参数

     

    更多用法,可能参考:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb490909(v%3dtechnet.10)

     

     

    goto

    语法:goto label

    跳转到指定的label。如果指定的label不存在,就继续执行下一条命令。如果找到label,就从label处继续执行。如果程序以正常顺序执行到一个label处,而不是通过goto跳转到label,label下的语句仍旧以正常顺序执行。

     

     

     

     

    想要了解更多指令参见:

    https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb490890(v%3dtechnet.10)

     

     

     

     

     

     

     

  • 相关阅读:
    JSP页面间传递参数
    JSP获取当前日期时间
    jsp实现套打(发票打印)
    iframe
    HTTP状态码及含义大全
    标签 -- HTML内联框架
    jstl fmt标签详解
    button和submit的区别及使用js实现页面跳转的方式
    Idea SpringBoot 启动Eurka 报错,提示端口被占用
    CodeSmith 破解
  • 原文地址:https://www.cnblogs.com/f1194361820/p/9428643.html
Copyright © 2011-2022 走看看