Windows 98的Shell语言

本文介绍了Windows 98系统下的Shell语言,即脚本语言。系统支持VBScript和JavaScript两种脚本语言,通过脚本语言解释器“C:/WINDOWS/WScript.exe”可直接执行。脚本语言基本遵守VB和VJ规则,可完成无需太多交互的功能,还给出读写注册表的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Windows 98Shell语言

  杨山河

 

DOS摸爬滚打过来的资深CFAN都知道批处理语言棗编辑一个批处理文件,马上即可在DOS下执行,完成一些不需太多交互的任务。这样的语言有人称之Shell语言。不知大家注意到没有在Windows98系统里也有Windows下的Shell语言,那就是脚本语言。

Windows98

系统支持的脚本语言有两种:VBScriptJavaScript。如果您编辑了扩展名为vbsjs的文本文件,您会在文件夹中看到系统给文件的一个表明此种文件早已注册的图标。不是给出缺省的图标说明至少有一个程序与之关联,这个应用程序是谁呢?如果查询注册表,您将了解到与之相关的是“C:/WINDOWS/WScript.exe “。此程序是一个脚本语言解释器,正是它使得您双击脚本即可马上(象执行DOS批处理一样)执行。

脚本语言基本上遵守

VBVJ规则,以前必须在IE等浏览器或VB中解释的脚本现在可以直接执行。利用脚本语言我们可以完成一些无需太多用户交互的功能,比如您要在注册表中添加或删除某些项目,您可以参考下面的脚本:

Message_Text = "

此脚本显示如何读写注册表项。"

Title_Text = "

如何利用脚本读写注册表"

Call Welcome()

Dim WSHShell

Set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.Popup "

创建项 HKCU/MyRegKey 数值为 'Top level key'"

WSHShell.RegWrite "HKCU/MyRegKey/", "Top level key"

WSHShell.Popup "

将数值项 HKCU/MyRegKey/Entry/Value1 设为 REG_BINARY 3"

WSHShell.RegWrite "HKCU/MyRegKey/Entry/Value1", 3, "REG_BINARY"

Sub Welcome()

Dim intDoIt

intDoIt = MsgBox(MsgBox_Message_Text,

vbOKCancel + vbInformation, Title_Text )

If intDoIt = vbCancel Then

WScript.Quit

End If

End Sub

可以看到,脚本语言基本上没有必须预先声明数据类型的限制,跟我们在

DOS下使用的早期Basic类似。这段代码首先向用户显示一个消息框,在得到用户的确认后(否则直接退出脚本执行,返回至系统),创建一个ProgID(编程标识)为“WScript.Shell “的对象,然后利用该对象的Popup方法显示提示信息,利用RegWrite方法向注册表添加一个键,这些稍懂VB的人一定不会觉得费解。比起其它语言罗罗嗦嗦的一大串,Windows98Shell语言是不是简单得多呢?如果以后有类似的应用,您是否会想到它呢?

如果觉得还不能完全领会

Windows98Shell语言的话,您可以浏览一下/Windows/samples/wsh文件夹,这里面有微软给您的几个示例。试着一个个双击,您一定会被所发生的一切感到惊奇!不信,请现在就打开机器试一试。

 

--

1998写的,那时候98刚出来,挺新鲜的

<think>好的,用户想了解Windows Shell相关的脚本语言或编程。首先,我需要明确用户的需求。他们可能是在寻找Windows环境下类似于Linux Shell脚本的工具,或者想知道有哪些脚本语言可以在Windows Shell中使用。 首先,我应该回顾已有的知识。根据提供的引用,用户之前接触过Linux Shell脚本,比如Bash,以及sed、环境变量设置等。现在用户转向Windows,可能需要类似的解决方案。 接下来,Windows的传统脚本工具主要是批处理脚本(.bat和.cmd)。这是最基本的,应该首先提到。然后,随着PowerShell的推出,它变得更加强大,支持面向对象和.NET集成,这也是必须提到的重点。 此外,用户可能对更现代的跨平台工具有兴趣,比如Python或JavaScript,这些虽然不是Windows专属,但可以在Windows中运行,特别是Python的脚本能力很强大。需要说明这些语言如何与Windows Shell结合使用。 还要考虑到用户可能需要的功能,比如自动化任务、系统管理、文件处理等。因此,需要根据不同的需求推荐不同的工具。例如,简单任务用批处理,复杂任务用PowerShell,跨平台用Python。 需要检查是否有相关的引用内容可以支持回答。例如,引用中提到环境变量设置、sed处理文本、执行命令获取输出等,但这些都是Linux相关的。不过,在Windows中,PowerShell和批处理也有类似的功能,可以类比说明。 可能还需要提到一些第三方工具,比如Cygwin或WSL,但用户可能更关注原生支持的工具。因此,重点放在批处理、PowerShell和跨平台语言上。 最后,生成相关问题,帮助用户深入探索,比如比较批处理和PowerShell,如何执行特定任务等。这些问题应围绕用户可能的后续疑问展开。 总结,回答结构应包括主要工具介绍,各自特点,适用场景,并引导用户进一步的问题。确保引用格式正确,使用中文,语法正确,行内公式用$...$,独立公式用$$...$$,但本问题可能较少涉及数学公式,但需注意其他格式要求。</think>### Windows Shell脚本语言及编程工具 Windows系统提供了多种脚本语言和工具用于系统管理、自动化任务及Shell编程,以下是主要解决方案及特点: #### 1. **批处理脚本(.bat/.cmd)** - **基础功能**:通过命令行解释器`cmd.exe`执行,支持基础逻辑控制(如`if`、`for`、`goto`)和系统命令调用。 - **示例**: ```batch @echo off echo 当前用户:%USERNAME% for /f "tokens=*" %%i in ('dir /b *.txt') do echo 找到文件:%%i ``` - **适用场景**:简单文件操作、环境变量管理[^4]。 #### 2. **PowerShell** - **核心优势**:基于.NET框架,支持面向对象编程和管道操作,可直接调用系统API和管理Windows组件。 - **语法示例**: ```powershell # 获取进程列表并过滤 Get-Process | Where-Object { $_.CPU -gt 100 } # 创建定时任务 Register-ScheduledTask -Action (New-ScheduledTaskAction -Execute "notepad.exe") -Trigger (New-ScheduledTaskTrigger -Daily -At 9am) ``` - **特点**:支持模块化开发、远程管理、错误处理,适合复杂系统管理[^5]。 #### 3. **VBScript/JScript(已逐渐淘汰)** - **历史工具**:通过`Windows Script Host (WSH)`运行,可操作COM组件,但微软已转向PowerShell。 - **示例**(VBScript): ```vbscript Set objShell = CreateObject("WScript.Shell") objShell.Run("notepad.exe") ``` #### 4. **跨平台脚本语言(Python/Node.js)** - **Python**:通过`os`或`subprocess`模块调用系统命令,适合复杂逻辑: ```python import os os.system("dir") ``` - **Node.js**:利用`child_process`执行Shell命令: ```javascript const { exec } = require('child_process'); exec('dir', (error, stdout) => console.log(stdout)); ``` #### 5. **Windows Subsystem for Linux (WSL)** - **功能**:在Windows中运行Linux环境(如Bash、Zsh),直接使用Linux Shell脚本工具链[^1][^3]。 --- ### 选择建议 - **简单任务**:批处理脚本(快速轻量)。 - **系统管理**:PowerScript(功能全面)。 - **跨平台需求**:Python/Node.js。 - **Linux兼容**:WSL + Bash。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值