精华内容
下载资源
问答
  • windows脚本编写及使用方法

    万次阅读 多人点赞 2019-02-13 21:26:12
    windows脚本 在 Windows 平台下,有时候会通过脚本来做一些快速的批量的操作,不仅节省时间,使用起来还很方便,很方便就可以进行批量处理文件,杀死进程等。脚本使用方法总结的比较好的一篇文章见:传送门。 脚本...

    windows脚本

    在 Windows 平台下,有时候会通过脚本来做一些快速的批量的操作,不仅节省时间,使用起来还很方便,可以进行批量处理文件,杀死进程等操作。脚本使用方法总结的比较好的一篇文章见:传送门

    脚本常用示例

    (1)创建 bat 脚本及中文乱码问题
    在 Windows 平台下,新建一个文本文档,然后将其后缀名改为 bat 即可,例如:test.bat,这样就创建好了一个脚本文件,添加内容后直接双击文件即可运行,简单易用。
    不过,这种方法新建的脚本常常会无法正常显示中文
    原因:
    批处理文件,是以ANSI编码方式。若以别的方式(如UTF-8)编辑了批处理,转换成ANSI格式即可,正常创建的文件的格式都是utf-8的。
    解决:
    在代码里修改执行时的编码格式:

    @echo off
    ::后续命令使用的是:UTF-8编码
    chcp 65001
    echo 中文
    pause
    

    其他 类似转换:

    doc 代码页(自行百度):
    chcp 65001  就是换成UTF-8代码页
    chcp 936 可以换回默认的GBK
    chcp 437 是美国英语
    

    实现sleep定时功能

    在实际使用中,经常会想要定时去处理东西,但是windows脚本很奇怪,竟然没有类似linux 下的sleep()函数功能,很是吃惊。网上多是利用ping指令来模拟定时功能。例如:

    ping 168.11.1.1 -n 1 -w 1000 >nul
    

    切记,这个ip地址一定要不能ping通,要是能ping通的话,时间就完全不对了。需要更换一个不能ping通的ip地址。
    在这里插入图片描述
    -n 参数为ping的次数,-w为每一次的超时时间,单位是毫秒,1000即1s,需要其他时间可相应进行换算。所以上述指令可以模拟出1s的时间,类似于linux下的sleep(1)。这个可以用于脚本的时间精确要求不高场景。

    死循环功能脚本

    在写脚本时,有时想要用到死循环进行测试,可使用以下示例:

    :loop
    ::添加自己要执行的任务
    echo  add your own work !
    goto:loop
    

    利用goto功能来无线跳转,实现类似while(1)死循环的功能。

    pause后重新执行

    @echo off
    :loop
    set /p var=please input num:
    echo your input num=%var% 
    pause
    goto:loop
    

    如上,每执行一次便会暂停,按键enter后便会重新全部执行,主要还是利用goto实现总体的循环。

    查看进程及杀死进程

    使用tasklist指令来查看windows下正在运行的进程。
    在这里插入图片描述
    tasklist指令的使用方法如下:
    在这里插入图片描述
    可以通过PID来杀死进程,也可以直接杀死对应的进程名称,*.exe。

    例如:
      	:: 利用进程名杀死对应进程进程
        TASKKILL /IM notepad.exe
        :: 利用pid杀死1230 1241 1253 及其子进程
        TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
        ::其他
        TASKKILL /F /IM cmd.exe /T
        TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
        TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
        TASKKILL /S system /U 域\用户名 /FI "用户名 ne NT*" /IM *
        TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
    

    setlocal 与 变量延迟

    本条内容引用[英雄出品]的批处理教程:
    要想进阶,变量延迟是必过的一关!所以这一部分希望你能认真看。
    为了更好的说明问题,我们先引入一个例子。
    例1:

    @echo off
    set a=4
    set a=5 & echo %a%
    pause
    

    结果:4
    解说:为什么是4而不是5呢?在echo之前明明已经把变量a的值改成5了?
    让我们先了解一下批处理运行命令的机制:
    批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋值。我们现在分析一下例1,批处理在运行到这句“set a=5 & echo %a%”之前,先把这一句整句读取并做了预处理——对变量a赋了值,那么%a%当然就是4了!(没有为什么,批处理就是这样做的。)
    而为了能够感知环境变量的动态变化,批处理设计了变量延迟。简单来说,在读取了一条完整的语句之后,不立即对该行的变量赋值,而会在某个单条语句执行之前再进行赋值,也就是说“延迟”了对变量的赋值。
    那么如何开启变量延迟呢?变量延迟又需要注意什么呢?举个例子说明一下:
    例2:

    @echo off
    setlocal enabledelayedexpansion
    set a=4
    set a=5 & echo !a!
    pause 
    

    结果:5
    解说:启动了变量延迟,得到了正确答案。变量延迟的启动语句是“setlocal enabledelayedexpansion”,并且变量要用一对叹号“!!”括起来(注意要用英文的叹号),否则就没有变量延迟的效果。
    分析一下例2,首先“setlocal enabledelayedexpansion”开启变量延迟,然后“set a=4”先给变量a赋值为
    4,“set a=5 & echo !a!”这句是给变量a赋值为5并输出(由于启动了变量延迟,所以批处理能够感知到动态变化,即不是先给该行变量赋值,而是在运行过程中给变量赋值,因此此时a的值就是5了)。
    再举一个例子巩固一下。
    例3:

    @echo off
    setlocal enabledelayedexpansion
    for /l %%i in (1,1,5) do (
    set a=%%i
    echo !a!
    )
    pause
    

    结果:
    1
    2
    3
    4
    5
    解说:本例开启了变量延迟并用“!!”将变量扩起来,因此得到我们预期的结果。如果不用变量延迟会出现什
    么结果呢?结果是这样的:
    ECHO 处于关闭状态。
    ECHO 处于关闭状态。
    ECHO 处于关闭状态。
    ECHO 处于关闭状态。
    ECHO 处于关闭状态。
    即没有感知到for语句中的动态变化。
    提示:在没有开启变量延迟的情况下,某条命令行中的变量改变,必须到下一条命令才能体现。这一点也可以加以利用,看例子。
    例:交换两个变量的值,且不用中间变量

    @echo off
    ::目的:交换两个变量的值,但是不使用临时变量
    ::Code by JM 2007-1-24 [email=CMD@XP]CMD@XP[/email]
    ::出处:http://www.cn-dos.net/forum/viewthread.php?tid=27078
    set var1=abc
    set var2=123
    echo 交换前: var1=%var1% var2=%var2%
    set var1=%var2%& set var2=%var1%
    echo 交换后: var1=%var1% var2=%var2%
    pause
    

    输出空行

    echo输出空行

    原生态的解释遗漏了echo另外一个重要功能:输出空行。在DOS脚本中,有时为了调试方便,加入一下空行。很多文章或者教程给出的解决方案都是在echo后面加一个点号echo.,这样就会输出空行。即:

    echo.
    其实:echo输出空行的方法至少有十种:

    echo=
    echo,
    echo;

    echo+
    echo/
    echo[
    echo]

    echo:
    echo.
    echo
    这十种方法可以分为三组,每组的效率依次递减,第一组的效率是最高的。

    修改cmd窗口大小、标题、字体、背景颜色

    ①改变窗口大小

     mode con cols=80 lines=80
    

    ②设置cmd窗口的标题

     title=设置窗口标题
    

    ③改变字体及背景颜色

     color    [fb]
    

    例如:  color 0a
    说明:
    F:前景颜色,即字体颜色
    B:背景颜色,即CMD窗口的背景颜色

    颜色属性由两个十六进制数字指定 – 第一个为背景,第二个则为
    前景。每个数字可以为以下任何值之一:

     0 = 黑色                     8 = 灰色
     1 = 蓝色                     9 = 淡蓝色
     2 = 绿色                     A = 淡绿色
     3 = 湖蓝色                  B = 淡浅绿色
     4 = 红色                     C = 淡红色
     5 = 紫色                     D = 淡紫色
     6 = 黄色                     E = 淡黄色
     7 = 白色                     F = 亮白色
    

    例如: "color 0a " 是在背景色为黑色上设置字体颜色为淡绿色。

    展开全文
  • windows脚本命令编写

    千次阅读 2019-03-22 11:35:57
    简单批处理内部命令简介 ...cmd文件只有在windows2000以上的系统中才能运行,而bat文件则没有这个限制 echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前...

    简单批处理内部命令简介

    cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建、编辑和查看。两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比bat文件多。cmd文件只有在windows2000以上的系统中才能运行,而bat文件则没有这个限制

    • echo 命令
      打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。

    在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。

    c:>dir *.txt > 1.txt

    c:>dir *.txt >> 1.txt

    • @ 命令
      表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
    • rem 命令
      注释命令,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
    • pause 命令
      运行 Pause 命令时,将显示下面的消息:
      Press any key to continue . . .
    • start 命令
      启动单独的“命令提示符”窗口来运行指定程序或命令。如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口。
    • choice 命令
      choice 使用此命令可以让用户输入一个字符,从而运行不同的命令
    • If 命令
      表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
      1、if “参数” == “字符串”  待执行的命令
      参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
      2、if exist 文件名  待执行的命令
      如果有指定的文件,则条件成立,运行命令,否则运行下一句
      如if exist config.sys edit config.sys
      3、if errorlevel / if not errorlevel 数字  待执行的命令
      如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
      如if errorlevel 2 goto x2  
      DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
    • for 命令
      FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!
    展开全文
  • /bin/bash2、将文档格式转换为unix,因为在windows编写shell脚本回车符是\n\r,而linux下的回车符是\n,所以在linux下运行脚本的时候,需要修改下脚本的的编码格式。 以VScode为例,改变编码方式: 将CRLF变为LF...

     

    注意两点:

    1、第一行:#!/bin/bash 
    2、将文档格式转换为unix,因为在windows下编写shell脚本回车符是\n\r,而linux下的回车符是\n,所以在linux下运行脚本的时候,需要修改下脚本的的编码格式。

    以VScode为例,改变编码方式:

    将CRLF变为LF,这里的CR表示回车,LF表示换行

     

    转载于:https://www.cnblogs.com/mlgjb/p/10738694.html

    展开全文
  • 1.在Dos窗口上显示内容 echo ...(显示...) 2.关闭指定目录下的进程 wmic process where "ExecutablePath like 'D:\\abc\\bin\\%%'" call Terminate 3.关闭所有进程名为QQ的进程 ...7.结束脚本 exit
    1.在Dos窗口上显示内容
    

    echo ...(显示...)

    2.关闭指定目录下的进程

    wmic process where "ExecutablePath like 'D:\\abc\\bin\\%%'" call Terminate

    3.关闭所有进程名为QQ的进程

    TASKKILL /F /IM QQ.exe 

    4.REM/:: 进行注释

    REM sleep 5s 

    :: sleep 5s  

    5.Dos窗口暂停5s     

    ping -n 5 127.0>nul

    6.启动某进程

    cd D:\abc\bin

    D:

    start QQ.exe

    7.结束脚本

    exit

    展开全文
  • windows下开机自动运行开启wifi脚本
  • windows bat脚本编写

    万次阅读 多人点赞 2018-08-03 17:55:31
    windows批处理 (cmd/bat) 编程详解  开始之前先简单说明下cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建、编辑和查看。两者所用的命令行代码也是共用的,只是cmd...
  • windows bat 批处理脚本编写指南

    千次阅读 2020-02-01 20:20:45
    本文由浅入深,比较系统地讲解了windows bat 批处理脚本编写指南,包括:windows bat批处理脚本概述,变量使用, 程序返回码及errorlevel使用,stdin、stdout、stderr,if判断与&、&&、||, for循环使用,函数goto...
  • windows server 2008 服务器 经常过一段时间就不能远程连接了,原因是连接太多,超了范围,如何保持正常的远程连接? windows 服务器中安装了virtualbox虚拟机, 搭建了CDH 集群,但是每次开机不能自动开启...
  • Windows编写脚本BAT批处理命令入门.pdf
  • 在windwos下用记事本编写了个shell脚本,拿到cygwin下运行没问题,但是拿到linux下运行就出问题,显示: :bad interpreter:no such file or directory 出现问题的原因就是“行终束符”,unix/linux使用 换行符;...
  • windows 编写脚本 无法在linux下运行

    千次阅读 2018-09-08 20:34:08
    错误提示中包含“^M: bad interpreter” 解决办法: 输入“:set ff=unix”后按Enter,将格式更改为unix...再次执行脚本,如果还不可以执行,请检查脚本是否有"x"执行权限,或者脚本内容存在错误指令。...
  • https://www.howtoip.com/how-to-create-and-run-bash-shell-scripts-on-windows-10/例子由自己在windows pro build 15063 linux 子系统里测试完成如何win 10 bash 上编写脚本可以在windows系统里编写脚本 ...
  • windows中bat脚本编写

    万次阅读 2018-03-01 21:40:36
    前言大家都知道python的便利,但是如果这台计算机没有装python环境怎么办,这时为了做一些重复性的工作,就不得不用cmd来编写一些简单的脚本。 希望对大家有点帮助,文末有一些实用的脚本基本命令可以使用windows+R...
  • 2、在菜单栏找到“显示符号”下的“显示所有字符”,然后就可以看到换行符了,Linux下换行符为\n,而Windows下为\r\n,此时可看到为两个字符 3、继续在菜单栏找到“编辑”选项下的“文档格式转换”,点击“转换为...
  • Windows脚本技术

    2009-03-04 09:59:38
    详细介绍windows脚本开发 JScript Microsoft 功能强大的脚本编写语言是专为 Internet 而设计的。JScript.NET 是 Microsoft ECMA 262 语言的下一代实施产品。与 ECMAScript Edition 4 一起开发的、JScript.NET 中...
  • windows10 bat脚本编写

    2019-04-17 16:46:54
    一个.bat脚本 作用是把服务里边的Windows Update给禁用了 本机处理 ,双击运行的那种。 求各位大神帮忙!!!!
  • 用标准C编写COM,包括windows脚本宿主的相关技术
  • windows编写shell脚本回车符是\n\r,而linux下的回车符是\n,所以在linux下运行脚本的时候,需要修改下脚本的的编码格式, vi 脚本,底行模式,输入 set fileformat=unix  ...
  • windows下批处理脚本编写学习

    千次阅读 2019-02-26 17:15:56
    1.新建一个文本文档,里面编写要执行的指令。比如 2.保存后将文件的后缀名修改为.bat 3.双击执行 可以看到 cmd命令窗口已经运行了脚本。   使用批处理脚本批量安装程序 可以将要安装的多个程序打包成压缩...
  • 这篇文章就是为了讲解怎么在本地和远端进行shell脚本编写,以及一些工作中需要注意的地方【shell】开头的文章(我手头的笔记比较多,只能慢慢发,如果真的有某一方面特别的需求,可以在评论中回复,如果我有相关的...
  • windows脚本概述

    2009-11-29 20:26:05
    怎样编写windwos脚本,和使用windws脚本的技巧,希望对大家有用
  • 编写相应脚本时,会出现编写的很长的行的内容,pycharm默认全部在一行显示。如何使其自动换行显示呢 找到设置选项,点击settings,按图1,2步骤 点击General,在上部搜索框输入:wraps,右侧会出现如下界面,...
  • python编写windows平台下脚本二三事

    千次阅读 2016-01-07 19:38:37
    一穷二白的开始写python脚本。 需要实现的功能很简单:利用dumpbin.exe来分析检查下windows的动态库和符号导出表等是否匹配,用来解决问题。 碰到实际问题: 1.如何添加设置环境变量 起因是:dumpbin需要先设置...
  • 为了能够学习的比较透测,就将简明教程里面的在linux 上面第十章的例子改用windows编写。 下面是在linux下编写脚本的例子: 例10.1 备份脚本——版本一 #!/usr/bin/python # Filename: backup_ver1.py ...
  • VSCode 编写 Shell 脚本

    万次阅读 2019-11-21 09:42:05
    VSCode 编写 Shell 脚本 用到的插件: shellman: 语法提示 shell-format: 格式化 shellcheck: 语法错误检查 Remote-WSL(可选): 远程打开WSL(子系统) 上的目录, 运行 shell shellman 直接从应用市场安装即可 shell-...
  • @echo off rem 上面那条语句解释:关掉代码显示,...echo 启动脚本成功:作者jaden.liu echo ==========================设置tomcat根目录========================== echo D:\program\jenkins\product\apache-tom...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,342
精华内容 67,336
关键字:

编写windows脚本