Batch脚本的简单应用

摘要:
网易博客停用,转几篇原来写的文章过来在做自动化过程中,碰到Java代码与windows相互交互的情况,需要获取一些windows的系统信息,用到了Batch脚本,比较方便。Batch脚本的功能跟shell、Python等比较相对来说功能少多了,但它不需要环境的配合,在做简单工作时效率很高。

网易博客停用,转几篇原来写的文章过来

在做自动化过程中,碰到Java代码与windows相互交互的情况,需要获取一些windows的系统信息,用到了Batch脚本,比较方便。

需要完成的功能很简单,获取windows中运行的进程的pid,写在一个文本文件中供Java代码读取。
主要用到的功能包括管道、重定向等。
脚本如下:

@echooff
tasklist /FI "IMAGENAME eq qq.exe"|find "qq.exe">pid.txt
for/f "tokens=2"%%i in(pid.txt)dosetstr=%%i
echo %str%>pid.txt
exit

具体解释下:

1.@echo off

echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
语法 echo [{on|off}] [message] Sample:@echo off / echo hello world
2.tasklist用来显示运行在本地或远程计算机上的所有进程
3.| find "qq.exe"
管道,在bat中也可以使用管道,将各种命令组合在一起使用,将第一条命令的结果作为第二条命令的参数使用,在Linux中很常用,在batch脚本中也可以使用。
4.>pid.txt
输出重定向。将一条命令或某个程序输出结果的重定向到特定文件中, > 与 >>的区别在于,>会清除调原有文件中的内容后写入指定文件,而>>只会追加内容到指定文件中,而不会改动其中的内容。
5.for /f "tokens=2" %%i in (pid.txt) do set str= %%i
For命令:FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令
参数:FOR有4个参数 /d /l /r /f,这里用到/f,是用的最多的,最有用的
格式: FOR /F ["options"] %%i IN (file) DO command FOR
/F ["options"] %%i IN ("string") DO command FOR
/F ["options"] %%i IN ('command') DO command
这里用到:in(file)
"tokens=2":表示取第二列;
set:赋值
6.echo %str%>pid.txt
将取得的“%str%”值重定向写入pid.txt中。
Batch脚本的功能跟shell、Python等比较相对来说功能少多了,但它不需要环境的配合,在做简单工作时效率很高。
每个工具都有其优点和缺点,只要用在合适的地方就行。

免责声明:文章转载自《Batch脚本的简单应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker使用以及dockerfile编写java.lang.OutOfMemoryError: Java heap space解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[samba]samba设置指定用户权限

步骤: 1.在系统中添加用户 批量添加用户和密码的方法(因为samba用户要求必须在系统中存在): for name in a b c d;do useradd $name ; echo “$user:passwd” |chpasswd;done 即添加了a,b,c,d四位用户,使用echo “user:passwd” |chpasswd 可以非交互修改密...

如何让您的php也支持pthreads多线程

  我们常常会碰到这样一种情况,开发环境在windows下开发,而生产环境确是linux。windows下能正常运行,上传到linux后却无法好好地玩耍了。然后开始了一轮尼玛式的疯狂的查找原因,最后发现是服务器环境问题。这时只能默默地爆一句shit。最近在用php多线程开发一个小功能也碰到类似的问题,在此记录一下。   1、查找资料发现php5.3或以上,...

#!/usr/bin/env 脚本解释程序的作用

the Zimbu programming language http://www.zimbu.org/getting-started ------------------------------------------------------------------------------ #!/usr/bin/env在linux的一些bash的脚本,需...

Spring MVC使用ModelAndView进行重定向

1、Servlet重定向forward与redirect: 使用servlet重定向有两种方式,一种是forward,另一种就是redirect。forward是服务器内部重定向,客户端并不知道服务器把你当前请求重定向到哪里去了,地址栏的url与你之前访问的url保持不变。redirect则是客户端重定向,是服务器将你当前请求返回,然后给个状态标示给你...

springMVC学习--day02

响应 返回字符串以及void的情况 1.返回字符串 <br> <a href="responseController/returnString">returnString</a> <br> 2.没有返回值 <br> <a href="responseController/returnVoid...

Java Web----------response&amp;amp;&amp;amp;request

1.response 代表响应, 可以理解为一个空的箱子,我们在里面填入要发送到浏览器的内容. 服务器会把这些内容组装成http响应. 1.1 响应首行 协议/版本号 状态码 状态码描述 添加状态码 和 描述 void setStatus(int sc) 只设置状态码 void setStatus(int sc, String sm)...