批处理是我们管理计算机和进行一些日常工作的好帮手,随着Windows的升级,批处理能做的事情越来越多。但是还是有很多事情我们无法用批处理来完成。好在后来微软在windows中加入了Windows Script Host,我们现在可以用JScript或VBScript来完成更复杂的工作,配合WMI,可以说是无所不能。WSH脚本用CScript.exe或WScript.exe来执行,CScript.exe和WScript.exe有一些参数,设置不同的参数对运行的结果可能会有影响。我就曾发现有的脚本在使用缺省解释器(WScript.exe)和缺省参数不能得到我想要的结果。这样当我写好一个脚本给别人使用时还得大费口舌解释该用CScript.exe还是WScript.exe运行,该配哪些参数。怎么解决这个问题呢?有一个方法: 另写一个批处理文件,用适当的方式来运行这个脚本。不过这样我就需要有两个文件。能不能只用一个文件呢?能!将脚本和批处理融为一体!,不但可以解决上述问题,还可以同时利用批处理和WSH各自的优势。
思路是把批处理语句放在脚本的注释里。JScript可以用/* */将一段文字作为注释,所以我选择了JScript。但/* */在批处理中是非法字符,怎么才能将其引入而没有任何不需要的错误提示呢?
我们需要一个批处理和JScript都接受的且没什么用的语句将/* 引入。JScript中有这样的语句 @set @varname=value,而批处理中也有: set varname=value, 批处理中可以在语句前面加个@,表示此句不输出。这就是我们需要的!至于*/很好办,用 @rem */即可。
请看下面的代码(扩展名为bat),很简单。
@set @this_call_started=1 /*
@echo off
@rem 允许CMD.EXE扩展功能
@SETLOCAL ENABLEEXTENSIONS
@rem 允许CMD.EXE延迟展开环境变量
@SETLOCAL ENABLEDELAYEDEXPANSION
...
批处理语句写在这里
...
@rem "%~dpnx0" 扩展批处理文件自身的文件名为带完整路径的文件名
@rem %* 批处理文件自身的所有参数
@rem 重新将本文件作为脚本文件调用
@call CScript.EXE "%~dpnx0" //Nologo //e:jscript %*
...
批处理语句写在这里
...
@goto end_this_call
@rem */
//Windows Script Start==================================================
...
脚本语句写在这里
...
//Windows Script end=====================================================
/*
:end_this_call
...
批处理语句写在这里
...
@set @this_call_started=
@rem */
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=486386
相关推荐
<br><br> 脚本和 Windows 自动化<br> 脚本文件的类型<br> 宿主环境和脚本引擎<br><br> 创建可由 WSH 使用的脚本<br><br> 将脚本分成可重复利用的部分<br><br> Windows 脚本宿主对象模型<br><br> 运行脚本<br><br> ...
常用批处理 bat 程序<br>├─BAT优化<br>│ -禁止修改、写入SYSTEM32目录.BAT<br>│ -让XP不用图片查看器看图(略缩图).BAT<br>│ DEL.JPG.SCR.BAT<br>│ DELTEMP.BAT<br>│ 关闭系统信使.BAT<br>│ 减少非法关机...
<br><br> <br><br><br>数据库设计<br> 1 Jive Forums数据库说明(英文) <br> 2 Jive KB数据库说明(英文) <br> 3 Jive Forums KB数据库说明(中文) <br> 4 Jive Forums KB合并数据库脚本(MSSQL) <br> 5 Jive Forums KB...
进程文件: userinit.exe <br>进程名称: Userinit Logon Application <br> <br><br>进程分析: <br>UserInitProcess,UserInit程序运行登陆脚本,建立网络连接<br> <br> <br> <br> <br>安全等级 (0-5): 0 (N/A无危险 5...
<br>├─第8章 WML Script脚本程序设计<br>│ <br>├─第8章 WML Script脚本程序设计(2)<br>│ <br>├─第9章 WML Script库及库函数<br>│ <br>├─第9章 WML Script库及库函数(2)<br>│ <br>├─WAP构架与测试方案...
这些批处理代码是本人在中国DOS联盟论坛学习批处理期间收集/编写的经典代码(至少本人认为是经典),绝大部分来源于中国DSO联盟论坛,少量来源...<br><br> <br><br><br> DOS批处理 & 脚本技术(批处理室) 前版主:namejm
<3>、建表脚本 <4>、表字段相关信息 <5>、表内数据前100条 <6>、存储过程脚本 <7>、过程参数列表 <8>、数据库基本操作(分离、附加、备份、还原) <9>、对象相关性(未完成,因为懒) <10>、关键字加色显示
这里,`<phase>package</phase>`表示在打包阶段执行批处理脚本。当运行`mvn package`命令时,Maven会自动调用`zip.bat`。 至于`zip_bat.zip`,这可能是批处理脚本的压缩版,可能包含了整个自动化打包过程的脚本和...
ASP在线编辑器,ASP.NET在线编辑器,PHP在线编辑器,JSP在线编辑器.html在线编辑器,在线网页编辑器<br><br>通用在线编辑器Webeditor<br><br> <br>1、修改编辑器大小在:<br> <br>editor.html里editor.editorWidth = 780...
本文将主要围绕“配置管理工具VSS的备份批处理脚本”这一主题,详细介绍如何创建和使用批处理脚本来自动化VSS的备份过程。 首先,我们需要理解批处理脚本的概念。批处理文件(通常以.bat为扩展名)是Windows操作...
`<Call>`命令在批处理中用于调用另一个批处理程序。这使得在主批处理文件中能够执行其他批处理文件的命令,而不会中断当前批处理文件的流程。一旦子批处理文件执行完毕,控制权会返回到原始批处理文件,继续执行后续...
Linux下通用的shell脚本 执行批处理
<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> ...
使用批处理文件时,确保正确地替换脚本中的占位符(如`<server>`,`<username>`和`<password>`),以适应实际的服务器名称和凭证信息。此外,安全问题也不容忽视,批处理文件应妥善保护,避免未授权的访问,因为它们...
在IT行业中,批处理脚本是一种非常实用的自动化工具,特别是在Windows操作系统环境下,BAT脚本被广泛用于执行一系列命令行操作。本压缩包文件“BAT批处理脚本-文件相关操作-把文本文件转化成网页格式.zip”包含了将...
7. **批处理与编程语言的结合**:了解如何在批处理脚本中调用其他编程语言(如Python、VBScript)的脚本,以扩展批处理的功能。 8. **脚本优化**:学习如何编写更高效、更易读的批处理脚本,包括错误处理机制、代码...
其中,`<ServerName>`是SQL Server实例的名称,`<DatabaseName>`是你要操作的数据库,`<Username>`和`<Password>`是连接数据库所需的凭据,`<SchemaName>`是存储过程所在的架构,`<StoredProcedureName>`是存储过程...
<artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </...
无法设置java_home的时候使用这个bat来启动eclipse吧。<br><br>不要关闭那个命令行...<br><br>@echo off<br>@echo 使用指定的jdk启动eclipse..<br>@echo 使用前先修改这个脚本指定JAVA_RUN和ECLIPSE_RUN文件目录<br>
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为bat 。目前比较常见 的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,...