`
laorer
  • 浏览: 434811 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

<转> 脚本与批处理合二为一

    博客分类:
  • j2EE
阅读更多
 

    批处理是我们管理计算机和进行一些日常工作的好帮手,随着Windows的升级,批处理能做的事情越来越多。但是还是有很多事情我们无法用批处理来完成。好在后来微软在windows中加入了Windows Script Host,我们现在可以用JScriptVBScript来完成更复杂的工作,配合WMI,可以说是无所不能。WSH脚本用CScript.exeWScript.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%` 来存储和传递...

    Windows 脚本技术参考手册

    &lt;br&gt;&lt;br&gt; 脚本和 Windows 自动化&lt;br&gt; 脚本文件的类型&lt;br&gt; 宿主环境和脚本引擎&lt;br&gt;&lt;br&gt; 创建可由 WSH 使用的脚本&lt;br&gt;&lt;br&gt; 将脚本分成可重复利用的部分&lt;br&gt;&lt;br&gt; Windows 脚本宿主对象模型&lt;br&gt;&lt;br&gt; 运行脚本&lt;br&gt;&lt;br&gt; ...

    常用批处理 bat

    常用批处理 bat 程序&lt;br&gt;├─BAT优化&lt;br&gt;│ -禁止修改、写入SYSTEM32目录.BAT&lt;br&gt;│ -让XP不用图片查看器看图(略缩图).BAT&lt;br&gt;│ DEL.JPG.SCR.BAT&lt;br&gt;│ DELTEMP.BAT&lt;br&gt;│ 关闭系统信使.BAT&lt;br&gt;│ 减少非法关机...

    微软web压力测试工具was-weba

    内部有文档说明书&lt;br&gt;WAS服务器负载测试软件使用说明&lt;br&gt;&lt;br&gt;&lt;br&gt;WAS 服务器负载测试软件使用说明 &lt;br&gt;&lt;br&gt;( Microsoft Web Application Stress Tool ) &lt;br&gt;&lt;br&gt;一、建立新脚本 &lt;br&gt;&lt;br&gt; 方法一、启动 WAS 软件后...

    bat批处理命令大全

    [/APPCMD &lt;appcmd&gt;] [/APPARGS &lt;appargs&gt;] [/APPDIR &lt;appdir&gt;] [/APPNAME &lt;appname&gt;] [/APPTYPE &lt;apptype&gt;] [/APPICON &lt;appicon&gt;] [/APPMEMORY &lt;appmemory&gt;] [/APPPRIORITY &lt;apppriority&gt;] [/APPCREATEPROC &lt;create...

    FCK在线编辑器2.2版和2.4版.rar

    基本页(就是编辑器所在页)以及装入编辑器的JS脚本&lt;br&gt;.用来建立编辑器的脚本&lt;br&gt;.编辑器的语言和皮肤.&lt;br&gt;.建立编辑器.&lt;br&gt;.载入预置的编辑文档内容.&lt;br&gt;.从现在开始,用户可以阅读和编辑文档了,不过,拖拽支持以及...

    wap文档

    &lt;br&gt;├─第8章 WML Script脚本程序设计&lt;br&gt;│ &lt;br&gt;├─第8章 WML Script脚本程序设计(2)&lt;br&gt;│ &lt;br&gt;├─第9章 WML Script库及库函数&lt;br&gt;│ &lt;br&gt;├─第9章 WML Script库及库函数(2)&lt;br&gt;│ &lt;br&gt;├─WAP构架与测试方案...

    dos 批处理文件集锦

    这些批处理代码是本人在中国DOS联盟论坛学习批处理期间收集/编写的经典代码(至少本人认为是经典),绝大部分来源于中国DSO联盟论坛,少量来源...&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt; DOS批处理 & 脚本技术(批处理室) 前版主:namejm

    struts_hibernate框架权限管理系统

    &lt;br&gt;&lt;br&gt;mysql初始数据库用户名:root,密码:1234&lt;br&gt;&lt;br&gt;其它数据库请相应修改hibernate.cfg.xml这映射文件为与你数据库相匹配&lt;br&gt;&lt;br&gt;注释:&lt;br&gt;1,默认配置为mysql5.0&lt;br&gt;hibernate.cfg.xml.mssql为Ms sqlserver2000...

    数据库设计/自动安装工具BDB 2007 V2.3(For Oracle/MS SQLServer/Access/MySQL/SQLAnyWhere/Sybase)

    &lt;br&gt;通过BDB可以快速建立数据库模型、并随时与实体数据库进行双向同步。&lt;br&gt;同时它还可以为您的应用程序创建数据库自动安装(或自动升级)程序、&lt;br&gt;以及实现不同数据库平台间数据库迁移等。&lt;br&gt;&lt;br&gt;此外、在BDB中提供...

    JavaScript

    JavaScript基本数据结构&lt;br&gt;3-JavaScript程序构成&lt;br&gt;4-基于对象的JavaScript语言&lt;br&gt;5-在JavaScript中创建新对象&lt;br&gt;6-JavaScript对象系统的使用&lt;br&gt;7-JavaScript窗口及输入输出&lt;br&gt;8-用JavaScript脚本实现Web页面...

    maven+bat打包

    这里,`&lt;phase&gt;package&lt;/phase&gt;`表示在打包阶段执行批处理脚本。当运行`mvn package`命令时,Maven会自动调用`zip.bat`。 至于`zip_bat.zip`,这可能是批处理脚本的压缩版,可能包含了整个自动化打包过程的脚本和...

    批处理添加windows凭证

    使用批处理文件时,确保正确地替换脚本中的占位符(如`&lt;server&gt;`,`&lt;username&gt;`和`&lt;password&gt;`),以适应实际的服务器名称和凭证信息。此外,安全问题也不容忽视,批处理文件应妥善保护,避免未授权的访问,因为它们...

    配置管理工具VSS 备份批处理脚本

    本文将主要围绕“配置管理工具VSS的备份批处理脚本”这一主题,详细介绍如何创建和使用批处理脚本来自动化VSS的备份过程。 首先,我们需要理解批处理脚本的概念。批处理文件(通常以.bat为扩展名)是Windows操作...

    批处理入门学习——一种快捷方式

    `&lt;Call&gt;`命令在批处理中用于调用另一个批处理程序。这使得在主批处理文件中能够执行其他批处理文件的命令,而不会中断当前批处理文件的流程。一旦子批处理文件执行完毕,控制权会返回到原始批处理文件,继续执行后续...

    java打包jar、第三方jar包、制作成.bat批处理

    &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; &lt;artifactId&gt;maven-jar-plugin&lt;/artifactId&gt; &lt;version&gt;3.2.0&lt;/version&gt; &lt;configuration&gt; &lt;archive&gt; &lt;manifest&gt; &lt;addClasspath&gt;true&lt;/addClasspath&gt; ...

    Springboot 项目打包,配置和依赖包分开 启动批处理文件(linux和windows)

    &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt; &lt;version&gt;${spring-boot.version}&lt;/version&gt; &lt;executions&gt; &lt;execution&gt; &lt;goals&gt; &lt;goal&gt;repackage&lt;/goal&gt; &lt;/goals&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/...

    OldCmp

    &lt;br&gt;建立了批处理文件之后,你需要创建一个计划任务。确认你为其指定了一个合适的域账号和密码,使该脚本有足够的权限在域中查询计算机对象。&lt;br&gt;辨别非活动计算机账号很有帮助,但更可能的是,你有时候想清除那些...

    批处理启动eclipse

    无法设置java_home的时候使用这个bat来启动eclipse吧。&lt;br&gt;&lt;br&gt;不要关闭那个命令行...&lt;br&gt;&lt;br&gt;@echo off&lt;br&gt;@echo 使用指定的jdk启动eclipse..&lt;br&gt;@echo 使用前先修改这个脚本指定JAVA_RUN和ECLIPSE_RUN文件目录&lt;br&gt;

    断开连接脚本+批处理+远程桌面连接+用于远程桌面断开连接后保持GUI桌面

    通过这个脚本可以学到windows批处理、通过修改注册表禁止windows电脑进入锁屏状态。对windows远程桌面进行一些常规设置,保证远程桌面的连接不会中断。 如果您觉得这个脚本对您有用,欢迎下载使用。If you think it ...

Global site tag (gtag.js) - Google Analytics