脚本与批处理合二为一_其它

批处理是我们管理计算机和进行一些日常工作的好帮手,随着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 */

时间: 2025-01-21 05:24:45

脚本与批处理合二为一_其它的相关文章

清除熊猫烧香病毒的批处理脚本XP版 转载_病毒查杀

把以下内容copy到记事本,然后另存为pandakiller.bat,然后双击pandakiller.bat即可.本脚本不仅有清除的作用,而且还能阻止病毒再次创建它的相关程序. 另外注意,为了照顾绝大多数用户,这个脚本对一般的htm,html,asp,aspx,jsp,php文件都做了删除处理,这样做不会导致你收藏夹内的网页丢失(因为那只是快捷方式而已),但是会导致你存储到硬盘上的网页丢失,假如你存有这方面资料,建议操作前先备份好再杀毒.本人将不负任何法律责任和道德义务!:) 清除之前先下载好下

sql server自动生成批量执行SQL脚本的批处理

  场景: DBA那边给我导出了所有的存储.函数等等对象的创建脚本,有上千个文件. 现在需要将这些对象创建脚本导入到另外一个库,如何解决呢? 手动一个个执行显然不太现实. 于是手动写了一个批处理,将所有的文件形成一个.SQL的脚本,最后以@生成的.SQL脚本方式导入到目标库中. OS环境:WINDOWS xp 脚本内容如下: @echo off if exist list.sql del list.sql /q :input cls set input=: set /p input= 请输入要进

脚本-bat批处理复制服务器上的多个文件

问题描述 bat批处理复制服务器上的多个文件 各位大大问题如下哈: 我访问服务器是通过192.168.61.38补丁 这个路径来访问服务器上的补丁文件的,然后我当前有一个存放在excel里的名单,里面是一些我想找出来的补丁的名称,不一定放excel,也可以放在txt,这个不是问题,主要是这个名单里的补丁只是服务器上的补丁的一小部分而已,我希望能通过一个bat,读取txt里的补丁名单,然后将服务器上的补丁复制到本地,但是名单上是补丁的文件夹名,我希望复制下来文件夹名以及对应在里面的子文件都可以复制

妙用脚本和批处理清除电脑中的痕迹_DOS/BAT

我们知道,使用Windows操作系统在你打开文件.输入各种密码或用QQ与朋友聊天,都可能引发个人机密泄漏,都会在机器上留下踪迹.为安全起见,如果是在公用电脑上,你应该在离开时抹去这些操作后留下的痕迹,下面是可能的泄密点及解决办法.  一.可能的泄密点及其存在的位置  Windows中可能泄漏我们的秘密的地方有两处:一是存在于文件夹中,一是存在于注册表里.  1.文件夹中:在"开始"菜单中的"文档"中会显示我们浏览过的文件,如果它们暴露其中,将使我们的秘密不保,应将其

sqlserver 脚本和批处理指令小结_MsSql

一.脚本基础     1.USE语句          设置当前数据库.     2.声明变量          语法:DECLARE @变量名 变量类型          在声明变量后,给变量赋值之前,变量的值为NULL.          将系统函数赋给声明的变量,这个方法可以使我们能更安全地使用值,该值只有人为地改变时它才变动.如果直接使用系统函数本身,那么当它发生变动时,有     时会无法确定其究竟为何,因为大多数系统函数值是由系统确定的.这容易在你不预期的情况下导致系统改变了值,引起

什么是脚本的简单解释_其它

脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件.脚本通常可以由应用程序临时调用并执行.各类脚本目前被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画.声音等.举个最常见的例子,当我们点击网页上的E-mail地址时能自动调用Outlook Express或Foxmail这类邮件软件,就是通过脚本功能来实现的.又如洪恩网站http//www.hongen.com一些网页的英文新闻内容旁会有

自动生成批量执行SQL脚本的批处理实例演示_DOS/BAT

场景: DBA那边给我导出了所有的存储.函数等等对象的创建脚本,有上千个文件. 现在需要将这些对象创建脚本导入到另外一个库,如何解决呢? 手动一个个执行显然不太现实. 于是手动写了一个批处理,将所有的文件形成一个.SQL的脚本,最后以@生成的.SQL脚本方式导入到目标库中. OS环境:WINDOWS xp 脚本内容如下: 复制代码 代码如下: @echo off if exist list.sql del list.sql /q :input cls set input=: set /p inp

sqlserver 脚本和批处理指令小结

一.脚本基础     1.USE语句          设置当前数据库.     2.声明变量          语法:DECLARE @变量名 变量类型          在声明变量后,给变量赋值之前,变量的值为NULL.          将系统函数赋给声明的变量,这个方法可以使我们能更安全地使用值,该值只有人为地改变时它才变动.如果直接使用系统函数本身,那么当它发生变动时,有     时会无法确定其究竟为何,因为大多数系统函数值是由系统确定的.这容易在你不预期的情况下导致系统改变了值,引起

使用脚本和批处理清除电脑中的痕迹的代码第1/2页_DOS/BAT

一.可能的泄密点及其存在的位置 Windows中可能泄漏我们的秘密的地方有两处:一是存在于文件夹中,一是存在于注册表里. 1.文件夹中:在"开始"菜单中的"文档"中会显示我们浏览过的文件,如果它们暴露其中,将使我们的秘密不保,应将其删除."文档"中的内容安放在C:\Windows\Recent文件夹中:安装程序.编辑文件时产生的临时文件安放在c:\windows\temp文件夹中:删除文件时文件并没有被真正删除,保存在回收站中,回收站里的东西在C