精华内容
下载资源
问答
  • WINDOWS批处理脚本实例

    2018-09-26 20:52:48
    WINDOWS批处理脚本实例,主要介绍了windows下的常用CMD命令用法及批处理的BAT用法
  • 批处理脚本和教程 简介: 高手编写的批处理脚本和批处理教程,绝大部分来自中国DOS联盟论坛。
  • 主要介绍了BAT 批处理脚本教程详细篇,并且脚本之家给了补充,想学习bat的朋友可以参考下
  • 批处理脚本

    2019-03-19 01:22:53
    NULL 博文链接:https://45121739-163-com.iteye.com/blog/697024
  • 因工作需要,有时普通员工电脑需要被远程,员工技术水平参差不齐,故编写一键开启RDP服务.bat脚本
  • 在windows系统下,可批量删除一些缓存文件。使用方式:右键菜单中选择以管理员身份运行即可。自己常用脚本
  • windows系统中 批处理脚本利用MAC地址更改IP、DNS、计算机名 经本人在windows7和XP系统测试有效
  • 个人修改的一键安装IIS脚本,没有安装全部功能,安装了大部分功能,去除了FTP等功能,可以自己编辑新增功能项
  • 注册表路径: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System 键说明: ConsentPromptBehaviorAdmin:通知强度级别 EnableLUA:是否关闭UAC PromptOnSecureDesktop:桌面是否变黑 ...
  • 用于获取文件或信息并将其发送到Webhook的批处理脚本 Windows 10内部版本17063或更高版本(包括cURL ) 1.4.2021 <FUD 重要的 :warning: 禁止将此批处理文件用于非教育目的。 仅可在您自己的计算机上使用。 ...
  • linux 一键启动 jar包 批处理脚本,适用于java 项目,spring boot 一键启动,停止,重启 等,代码简洁,可直接使用.
  • 批量删除keil_v5 和 iar编译出来的.o、.out等无用的文件 ,实现保留有用的代码,实现代码最小化
  • 批处理编辑器是一种用于编辑批处理脚本的小型,轻巧但功能强大的工具。 它带有语法突出显示功能,甚至还具有一些其他功能,例如允许您更改字体颜色和背景颜色。 如您所愿,您可以:保存另存为(...),只要是批处理...
  • windows批处理脚本编程

    2017-11-23 15:13:26
    批处理脚本编程..........................................................................
  • 主要介绍了使用批处理脚本在特定目录中启动Git-Bash窗口,需要的朋友可以参考下
  • BAT 批处理脚本教程

    2017-03-30 15:06:11
    BAT 批处理脚本教程
  • BAT批处理脚本也可以使用函数,函数可以带参数,并且返回结果。但是批处理脚本的函数调用返回结果处理却不是很友好,处理起来相对麻烦。本文详细讲解函数定义、函数调用及调用结果如何返回。 1、代码案例 vfunc.bat ...
  • 史上最详细批处理脚本(BAT)教程,好东西需要拿出来分享,基本涵盖bat所有知识!很适合学习批处理脚本! 本人就是用这个学习的!
  • Python批处理脚本就是能顺序执行的Python语句块, 也就是我们常说的Python脚本,一般用于批量顺序处理数据。 所以Python自动化测试的第一个段位是: 会编写简单的Python批处理脚本来处理实际测试工作中碰到的问题, ...
  • 最近在批量重命名文件和使用ffmpeg进行视频格式转换时,经常使用到windows的批处理脚本,也就是.bat文件。但之前都是查到脚本代码就直接使用,对脚本的语法没有了解。正好今天有时间,就系统性的学习以下批处理脚本...

    前言

    最近在批量重命名文件和使用ffmpeg进行视频格式转换时,经常使用到windows的批处理脚本,也就是.bat文件。但之前都是查到脚本代码就直接使用,对脚本的语法没有了解。正好今天有时间,就系统性的学习以下批处理脚本的语法。我感觉windows的批处理语法和Linux的shell脚本非常相似。同时既然是脚本语言,那和C++、Java等高级编程语言也有很多相似之处。

    批处理脚本的使用方法

    首先是批处理脚本的使用方法。一般是新建一个文本文档,然后将后缀名改为.bat。然后选中该文件,右键选择编辑,编写脚本代码。编码完成后双击文件运行。

    一、 注释与输入、输出

    按江湖规矩,学习一门编程语言,首先是使用输出语句输出“Hello World"。
    批处理脚本语法中的标准输入、标准输出和标准错误输出分别使用0、1、2来表示,这三个数字在将输入输出结果重定向时会使用到。

    注释

    1. # 在批处理脚本中,使用#表示注释当前行。
    2. @echo off 使用@echo off表示此后不显示执行的命令本身。也就是说,如果不加这个,你的脚本在执行时,代码中的命令也会出现在cmd窗口中。

    输出

    1. 输出到cmd窗口(类似C中的print):
    echo Hello World
    
    1. 重定向输出内容(一般是将输出内容写入文件):
    覆盖使用操作符>,附加使用操作符>>
    标准输出为 1>或1>> 标准错误输出为 2>或2>>
    单独使用>>>默认为标准输出。
    使用运算符>& 将标准输出和标准错误输出相互转换。如 1>&2 表示将标准输出当作标准错误输出使用。
    
    使用示例:
    编写一个脚本文件write.bat,内容如下:
    @echo off
    echo Hello World #输出Hello World
    QQ.exe #运行当前路径下名为QQ的可执行文件
    
    如果双击write.bat执行,则会在弹出的cmd窗口中显示:
    Hello World
    'QQ.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。
    
    如果我希望将这个结果写入一个文本文档result.txt中,则需要打开cmd,跳转到write.bat所在路径,然后执行以下命令:
    write.bat 1> result.txt
    
    然后点击运行,运行后,打开result.txt查看内容:
    Hello World
    
    之所以没有第二行的错误提示,是因为 1> 只会重定向标准输出。
    如果希望两行都写入文本,可以使用以下代码:
    write.bat 1> result.txt 1>&2 #这里将标准错误输出转换为了标准输出。
    

    输入

    1. 读取文件内容:
    使用操作符 < 来读取文件内容
    例如:
    string < result.txt #将result.txt中的内容读入string中。
    
    1. 接收参数:
    在cmd窗口中执行脚本时,将参数写在脚本名称的后面,用空格分开。
    在脚本中通过%1, %2, %3.....%9来使用这些参数。
    
    第十个以及以后的参数需要用到循环和shift命令来获取。使用shift命令从参数列表中弹出第一个参数,这使得所有的参数都向左移动,这样第十个参数就可以通过%9来获取了。
    
    同时,这些参数在接收时也可以有选项。如:
    %~I表示从第I个命令行参数中删除引号。
    %~fI表示展开第I个命令行参数完整路径。
    %~dpI表示第I个文件路径参数的完整父级路径。
    %~nxI表示第I个文件路径参数的文件名(包括扩展名)。
    
    例如:
    编写一个名为getParameters.bat的脚本文件:
    @echo off
    echo %1, %2, %3 #将接收的三个参数打印出来
    
    在cmd中执行这个脚本:
    getParameters.bat p1 p2 p3
    
    结果会在cmd中打印出 p1 p2 p3.
    
    1. 接收用户输入:
      有两种接收用户输入的方式,分别为使用choice,和set /p。下面分别用这两种方式来实现同一个程序。
    使用choice:
    @echo off
    :yes
    choice /c ny /m "Do you want to run the program again"
    #/c指定了可选按键 /m在提示语句前表示输出”“中的那段文本。
    if errorlevel 2 goto yes
    #errorlevel 代表可选按键中的第二个,即y。
    if errorlevel 1 goto no
    :no
    
    使用set /p:
    @echo off
    :yes
    SET /P yes="Do you want to run this program again?[y/n]"
    #首先输出yes中的内容,然后将用户输入赋值给yes
    echo %yes% | findstr /i "y" > nul && GOTO yes
    #利用管道将第一个命令的结果作为第二个命令的输入。
    #findstr 表示查找输入内容是否有 y ,/i表示不区分大小写。
    #nul表示不输出到显示器。
    
    两个程序的运行结果是一样的。
    其中两个程序中都用到了命令 : ,这个命令用于声明一个代码块,其内容是一直到下一个 : 为止。格式为 : 代码块名称 内容。
    由第一个程序可以看出,声明了yes和no两个代码块,其中no代码块没有内容。
    使用goto指令来跳转向某个代码块。
    
    1. 管道
    批处理脚本中用管道将第一个命令的结果作为第二个命令的输入。用 | 表示。
    例如:
    命令一.bat | 命令二.bat
    

    二、 变量

    在Windows的批处理脚本中,变量是没有数据类型的,也不需要提前声明。
    使用set指令对变量进行赋值。

    例如 set a=1
    
    set有以下几个属性:
    /A 表示支持算数操作
    

    默认情况下,变量对整个cmd会话是全局的。调用setlocal命令,将变量变为局部变量。

    setlocal
    set a=1
    echo %1%
    

    如果要输出某个变量值,则需要使用双引号。

    set a=1
    echo "a"
    
    结果为 1
    

    三、 if语句

    这个与一般的编程语言没有什么区别。形式如下:

    if 判断条件 (
    代码块1
    ) else (
    代码块2
    ) 
    

    值得注意的是,else不允许直接是行首。同时要注意判断条件附近空格的使用。
    判断条件分为以下四种。

    1. errorlevel值,这个在choice命令那里已经示范过。
    2. 比较判断,常用的如下:
    	== 等于 
      EQU 等于 
      NEQ 不等于 
      LSS 小于 
      LEQ 小于或等于 
      GTR 大于 
      GEQ 大于或等于 
    
    1. 存在判断
    if exists something(
    echo "something exists"
    )
    这样的语法结构判断文件或者目录的存在。
    
    1. 定义判断
    if [not] defined 变量(
    } else ()
    
    判断变量是否存在,即是否已被定义。
    

    四、 循环

    批处理脚本中,循环语句的结构如下:

    for %%变量 in (某个范围) do 循环体
    
    其中,在cmd窗口中直接输入时,变量前的%只需要打一个即可,需要注意。
    
    这里的循环结构我认为和python中的遍历很像,即从一个集合中一个一个的取值、执行。
    例如:
    for %%i in (a,"b c",d) do echo %%i 
    

    循环语句有多个属性(开关),最常使用的是 /l 和 /f。

    1. /l
    FOR /L %%variable IN (start,step,end) DO command [command-parameters]
    该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)
    通过这个参数可以实现
    加上这参数后,循环结构就更像java或c++中常用的for循环了。
    
    1. /f
    FOR /F ["options"] %%variable IN (set) DO command 
    其中,set为string、command、file-set中的一个。
    options是eol=c、skip=n、delims=xxx、tokens=x,y,m-n、usebackq中的一个或多个的组合。
    说实话这个方式我也没理解,到时候需要用到了再去深入的了解吧。
    

    五、 函数

    其实批处理脚本中的函数在输入输出那一部分就使用过了,就是 : 定义的代码块。

    函数定义

    使用如下结构定义函数:
    :函数名
    函数体
    goto:eof
    
    注意 : ,以及结尾的goto:eof不要遗漏。
    

    函数调用

    直接使用call命令调用即可。形式如下:
    call 函数名 参数1 参数2 .......
    

    返回值

    其实我们这里的函数并不是其他高级语言的那种函数,所以没有一个模式化的返货值。
    一般通过全局变量或者参数进行返回。
    

    六、 其他重要技巧

    1. 使用命令名 /?的方式,可以在cmd窗口中查询该命令的使用方法。
    2. 默认情况下,当脚本发生错误时还是会继续执行。需要我们自己在运行脚本是,来防止这种情况发生。
    MyBat.exe || exit /b 1
    
    ||操作符表示跟随命令,在脚本错误后执行。
    其中exit表示退出脚本,/b表示不退出当前窗口,1是返回码。
    在cmd中0表示运行成功,非0表示运行失败。
    

    结语

    这里只是阐述了编写一个批处理脚本文件的大概框架,其实更重要的是window系统提供的那些命令,只有配合上各种命令才能编写完整的脚本程序。

    参考资料

    1. Windows 批处理脚本指南
    2. windows bat批处理语法简析
    3. bat 脚本之 使用函数
    4. dos命令行choice命令使用详解
    展开全文
  • 批处理脚本和教程 简介: 高手编写的批处理脚本和批处理教程,绝大部分来自中国DOS联盟论坛。
  • 1天实战CMD/DOS批处理脚本编程 二、课程特点        简单易懂,可操作易上手! 三、你将学到        1、通过CMD批处理关闭危险端口        2、通过CMD...
  • linux 批处理脚本

    千次阅读 2019-08-05 10:34:40
    在linux环境下,需要启动多个服务,例如zookeeper服务,redis服务,tomcat服务等等,这些服务是有顺序的,例如tomcat依赖 ...linux批处理脚本,就是可以把多个linux处理的命令封装到一个以 .sh 结尾的文件中,例如...

    在linux环境下,需要启动多个服务,例如zookeeper服务,redis服务,tomcat服务等等,这些服务是有顺序的,例如tomcat依赖
    zookeeper服务,要先启动zookeeper服务再启动tomcat服务,否则tomcat启动的时候会报错无法正常启动。而如果逐个的开启服务很耗费时间。

    linux批处理脚本,就是可以把多个linux处理的命令封装到一个以 .sh 结尾的文件中,例如可以把启动多个服务的命令都写在一个文件中。

    touch runAll.sh   创建一个空的批处理脚本
    vim runAll.sh   写入linux命令



    注意:如果写成 cd /usr/tomcat7/bin/startup.sh  会报错,找不到文件目录

    脚本写完后,执行但是报错    Permission denied   权限被拒绝
     
    解决权限问题:chmod u+x runAll.sh  当前用户下,runAll.sh 有执行权限

    权限: x:执行    w:写       r:读

    chmod +x  xampp.run #给xampp.run执行权限

    chmod +w xampp.run #给xampp.run写权限

    chmod +r  xampp.run #给xampp.run读权限

     

    展开全文
  • : 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...
  • 1天入门CMD/DOS批处理脚本编程   二、课程特点        注重基础,跟着操作,容易上手学会!   三、你将学到        学会基础CMD/DOS批处理脚本编程   四、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,161
精华内容 30,464
关键字:

批处理脚本