批处理是我们管理计算机和进行一些日常工作的好帮手,随着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
相关推荐
3. **条件判断与循环**:批处理支持简单的逻辑控制,例如`IF`语句进行条件判断,`FOR`循环遍历文件或目录,这使得批处理脚本能根据不同的条件执行不同操作。 4. **批处理变量**:了解如何使用 `%var%` 来存储和传递...
<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>WAS服务器负载测试软件使用说明<br><br><br>WAS 服务器负载测试软件使用说明 <br><br>( Microsoft Web Application Stress Tool ) <br><br>一、建立新脚本 <br><br> 方法一、启动 WAS 软件后...
[/APPCMD <appcmd>] [/APPARGS <appargs>] [/APPDIR <appdir>] [/APPNAME <appname>] [/APPTYPE <apptype>] [/APPICON <appicon>] [/APPMEMORY <appmemory>] [/APPPRIORITY <apppriority>] [/APPCREATEPROC <create...
基本页(就是编辑器所在页)以及装入编辑器的JS脚本<br>.用来建立编辑器的脚本<br>.编辑器的语言和皮肤.<br>.建立编辑器.<br>.载入预置的编辑文档内容.<br>.从现在开始,用户可以阅读和编辑文档了,不过,拖拽支持以及...
<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
<br><br>mysql初始数据库用户名:root,密码:1234<br><br>其它数据库请相应修改hibernate.cfg.xml这映射文件为与你数据库相匹配<br><br>注释:<br>1,默认配置为mysql5.0<br>hibernate.cfg.xml.mssql为Ms sqlserver2000...
<br>通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。<br>同时它还可以为您的应用程序创建数据库自动安装(或自动升级)程序、<br>以及实现不同数据库平台间数据库迁移等。<br><br>此外、在BDB中提供...
JavaScript基本数据结构<br>3-JavaScript程序构成<br>4-基于对象的JavaScript语言<br>5-在JavaScript中创建新对象<br>6-JavaScript对象系统的使用<br>7-JavaScript窗口及输入输出<br>8-用JavaScript脚本实现Web页面...
这里,`<phase>package</phase>`表示在打包阶段执行批处理脚本。当运行`mvn package`命令时,Maven会自动调用`zip.bat`。 至于`zip_bat.zip`,这可能是批处理脚本的压缩版,可能包含了整个自动化打包过程的脚本和...
使用批处理文件时,确保正确地替换脚本中的占位符(如`<server>`,`<username>`和`<password>`),以适应实际的服务器名称和凭证信息。此外,安全问题也不容忽视,批处理文件应妥善保护,避免未授权的访问,因为它们...
本文将主要围绕“配置管理工具VSS的备份批处理脚本”这一主题,详细介绍如何创建和使用批处理脚本来自动化VSS的备份过程。 首先,我们需要理解批处理脚本的概念。批处理文件(通常以.bat为扩展名)是Windows操作...
`<Call>`命令在批处理中用于调用另一个批处理程序。这使得在主批处理文件中能够执行其他批处理文件的命令,而不会中断当前批处理文件的流程。一旦子批处理文件执行完毕,控制权会返回到原始批处理文件,继续执行后续...
<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> ...
<artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </...
<br>建立了批处理文件之后,你需要创建一个计划任务。确认你为其指定了一个合适的域账号和密码,使该脚本有足够的权限在域中查询计算机对象。<br>辨别非活动计算机账号很有帮助,但更可能的是,你有时候想清除那些...
无法设置java_home的时候使用这个bat来启动eclipse吧。<br><br>不要关闭那个命令行...<br><br>@echo off<br>@echo 使用指定的jdk启动eclipse..<br>@echo 使用前先修改这个脚本指定JAVA_RUN和ECLIPSE_RUN文件目录<br>
通过这个脚本可以学到windows批处理、通过修改注册表禁止windows电脑进入锁屏状态。对windows远程桌面进行一些常规设置,保证远程桌面的连接不会中断。 如果您觉得这个脚本对您有用,欢迎下载使用。If you think it ...