windows脚本编写及使用方法

您所在的位置:网站首页 在电脑上怎么编辑程序文档 windows脚本编写及使用方法

windows脚本编写及使用方法

2024-07-04 23:05:31| 来源: 网络整理| 查看: 265

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 " 是在背景色为黑色上设置字体颜色为淡绿色。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭