当前位置:首页 » 编程软件 » windowsshell编程

windowsshell编程

发布时间: 2022-04-17 16:02:52

⑴ windows怎么用shell

在windows下想要执行shell脚本,需要使用到"Git Bash",所以我们需要先安装Git。

⑵ 什么是shell命令windows系统也有shell命令吗

Shell(也称为壳层)在计算机科学中指“为用户提供用户界面”的软件,通常指的是命令行界面的解析器。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的层面。因此与之相对的是内核(英语:Kernel),内核不提供和用户的交互功能。

不过这个词也拿来指应用软件,或是任何在特定组件外围的软件,例如浏览器或电子邮件软件是HTML排版引擎的Shell。Shell这个词是来自于操作系统(内核)与用户界面的外层界面。

通常将shell分为两类:命令行与图形界面。命令行壳层提供一个命令行界面(CLI);而图形壳层提供一个图形用户界面(GUI)。

[Wikipedia:壳层]

==========================

虚拟终端机(英语:Terminal emulator)是在个人电脑上虚拟的一个终端以及为此目的而写的软件。虚拟终端的目的是达到个人电脑及其用户能够与大型计算机的连接。一般来说需要连接的大型计算机是IBM的大型计算机或者所谓的超小型计算机(过去往往是迪吉多的VAX)。

虚拟终端使得个人电脑的用户可以直接使用他的个人电脑来与大型计算机联系,而不必使用专门的终端。

通过虚拟终端的软件虚拟终端还可以扩展大型计算机的标准终端的功能,通过虚拟终端不但可以将个人电脑上的数据传递给大型计算机,而且还可以将大型计算机的数据传递给个人电脑,并在个人电脑上继续加工。

一般大型计算机的终端是字母式的输入和输出接口,因此一个虚拟终端至少需要一个能够模拟这样的字母式(比如ASCII)输入和输出接口的能力。最常见的平台是图像式的用户表面。要使得新的、图像式的程序能够使用老的字母式的或者没有图像式输入和输出能力的程序也需要虚拟终端。

现代的大型计算机也内部使用虚拟终端,这样它们可以向老的、需要终端的程序假装一个终端,而实际上它则将程序的显示转到显卡上。比如linux以及其它大多数基于个人电脑的类似Unix的操作系统假装有六至十个这样的“虚拟”的终端。

[Wikipedia:虚拟终端]

==========================

Windows命令提示符(cmd.exe)是Windows NT下的一个用于运行Windows控制台程序或某些DOS程序的壳层程序;或在Windows CE下只用于运行控制台程序的壳层程序。它被用于替代Windows 9x系统中所提供的COMMAND.COM和“MS-DOS提示符”。命令提示符的最初版本由Therese Stowell开发。

[Wikipedia:命令提示符]

==========================

PowerShell(包括Windows PowerShell和PowerShell Core)是微软公司开发的任务自动化和配置管理框架,由.NET Framework和.NET Core是构建的命令行界面壳层相关脚本语言组成,最初仅Windows组件,后于2016年8月18日开源并跨平台支持。[3]

在PowerShell中,管理任务通常由cmdlets(发音为command-lets)执行,这是执行特定操作的专用.NET类。可以将cmdlet集合至脚本、可执行文件(一般是独立应用程序)中,或通过常规.NET类(或WMI / COM对象)实例化。[4][5]通过访问不同数据存储中的数据由PowerShell运行,如资源管理器或注册表。

[Wikipedia:Windows PowerShell]

==========================

Windows shell是Microsoft Windows操作系统的图形用户界面。Windows shell易于识别的元素包括桌面、任务栏、开始菜单、任务切换器和自动播放等特征。在某些版本的Windows上,还包括Flip 3D和魅力(charms)等功能。在Windows 10中,Windows Shell Experience Host界面可以驱动视觉效果,如“开始”菜单,“操作中心”和“任务栏”、Task View/Timeline。另外,Windows shell还实现了一个shell命名空间,该命名空间使Windows上运行的计算机程序能够通过shell对象架构访问计算机的资源。“桌面”是层次结构的顶级对象,在它之下有一些存储在磁盘上的文件和文件夹,以及一些内容为虚拟或动态创建的特殊文件夹,如垃圾箱、控制面板、我的计算机、我的网络位置等等。

基本上讲,Shell是由文件夹组成的,文件夹是一个包含有子元素的容器,包括子文件夹,这些元素通常称为文件夹项。根文件夹称为‘桌面’,其子项包括‘我的计算机’,‘网上邻居’,‘回收站’,和其他可能的项,所有这些文件夹的集合称之为Shell的命名空间。文件夹实际上是一个Shell对象,它的行为被编码成一个COM模块,向Windows Shell暴露公共的接口。通过连接,文件夹可以告诉Shell怎样设计它的内容,使用什么样的图标显示,采用什么文字来描述。文件对象是一个包含在普通文件夹中的项—文件、记录、内存块、连接的设备等。‘文件夹项’、‘文件夹元素’和‘文件对象’这些术语是等价的。任何文件夹的内容都是通过一个对象调用Shell viewer显示在Windows explorer.exe中的。每一个文件夹都定义了他自己的Shell viewer对象,并且所有相关于这个用户接口的任务都指派到这个对象上。

从概念上讲,桌面是所有Windows Shell对象的父对象,即宿主对象。就实现方式而言,桌面是一个系统定义窗口类的特殊窗口(命名为#32769),并且是所有窗口的祖先窗口。那些导出应用的顶层窗口一般而言都是桌面的子窗口。[1]

主要的Windows Shell部件就是任务栏,它实际上就是由explorer.exe进程所拥有的一个窗口。当终止explorer.exe进程的时候,都将引起任务条的消失和重新显现。每当任务栏重新显现的时候,它注册一个具有不同HWND的新窗口。任务条拥有“开始”按钮的窗口,在托盘区域有时钟和类似按钮的控件,表示正在运行的应用。任务条实际上与窗口一样,可以在其上作任何窗口上可以做的操作如移动、隐藏和子类化等。

explorer.exe是一个扮演着系统外壳角色的应用程序。当说到外壳扩展的时候,就是由explorer.exe感知的、装入的并最终执行的代码块。explorer.exe可以被看作为一个微型的窗口开发环境:它有自己的函数和对话框;允许写特殊的与已存在的体系集成的应用程序;能包容应用和文档。甚至可以解释任何活动的脚本兼容语言的脚本(VBScript,JScript,Perl,等等)。采用COM接口和进程内服务器(实质上的DLL)

在Win16环境中,与Shell唯一的通讯方式是通过动态数据交换(DDE)。

[Wikipedia:Windows Shell]

⑶ windows怎么运行shell脚本

在工作中情况会在碰到linux下进行执行shell的脚本,而就会使用shell的脚本,但经常使用的Windows的系统,而想在Windows电脑中进行直接shell的脚本,而不用再进行学习其它的脚本语言。

工具/原料

Windows

git

方法/步骤

1、首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看。

⑷ windows 怎么写shell脚本

方法/步骤
打开http://www.cygwin.com/,下载cygwin对应于自己windows操作系统的版本:32位或64位
(cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件)

安提示安装好cygwin
打开cygwin,就可以看到熟悉的命令行提示了,shell环境对应的根目录是软件的安装目录

开始使用linux命令:grep、awk、less、vi等等,如果发现有缺少什么命令,重新运行setup.exe安装程序,搜索需求的命令,叉选上即可安装。

⑸ Shell编程的实现方法

前面所说的直接使用Windows操作系统部分功能的编程方法就是针对Windows操作系统外壳的编程,可以通过对操作系统提供的几个编程接口对操作系统的部分功能进行调用,甚至可以按照自己的意图在应用程序中对部分功能进行修改、扩展。但这方面的资料介绍不是特别多,讲的也大都语焉不详,而且用通常的编程方法去进行外壳编程是非常麻烦的,动辄就要对相关的结构对象进行设置,而这样的结构里的数据成员少则十来个多则几十个,因此配置起来非常烦琐,下面就以一个比较简单的外壳操作--拷贝文件进行举例说明: ……
SHFILEOPSTRUCT FileOp; //外壳的文件操作结构
FileOp.hwnd=m_hWnd; //设置句柄
//设置操作方式,拷贝用FO_COPY,删除用 FO_DELETE
FileOp.wFunc=FO_COPY;
FileOp.pFrom=m_source; //源文件路径
FileOp.pTo=m_detect; //目标文件路径
FileOp.fFlags=FOF_ALLOWUNDO; //允许恢复
FileOp.hNameMappings=NULL;
FileOp.lpszProgressTitle=strTitle; //设置标题
SHFileOperation(&FileOp); //执行外壳拷贝
if(FileOp.fAnyOperationsAborted) //监测有无中止
TRACE(An Operation was aborted!!! );
…… 上述代码实现起来虽然效果还是不错的,但然实现起来却是比较麻烦的,这仅仅是一个比较简单的外壳操作,对于一些比较复杂的外壳操作比如系统托盘、任务条等等的编程,更是尤为严重,而且象此类编程,MFC里并没有提供封装好的程序类库,提供的只有系统的WinAPI 应用程序接口,因此在程序开发过程中往往会有一种在进行SDK编程的感觉。
COM (Component Object Model,组件对象模型)是Microsoft创建的一种二进制和网络标准,也是Microsoft大力推广并已取得广泛认可的一种组件标准。在COM标准中,COM对象被很好的封装起来,客户无法访问对象的实现细节,提供给用户的唯一的访问途径是通过COM接口来访问。对于COM接口有两方面的含义:首先它是一组可供调用的函数,由此客户可以让该对象做某些事情;其次,也是更为重要的,接口是组件及其客户程序之间的协议。也就是说接口不但定义了可用什么函数,也定义了当调用这些函数时对象要做什么。Windows操作系统本身作为一个大的COM组件对象,也提供了一些必要的COM接口给客户程序,因此我们可以通过这些COM接口来直接对Windows外壳进行编程。
在程序进行正式编写设计之前有一点是肯定的:程序里需要用到COM接口,要对COM对象进行操作。因此首先要加入初始化COM和终止COM的代码。一般是在应用程序类的InitInstance()函数的开始处和返回前添加初始化COM和终止COM代码的: ……
CoInitialize(NULL); //初始化COM
……
CoUninitialize(); //终止COM代码
…… 以上两个函数在MFC程序和非MFC程序中都可以很好的使用。另外,如果程序框架是以MFC为基础的,那么只需简单的调用AfxOleInit()函数就可以达到同样的目的。而且不必显式调用终止COM的代码。在COM标准中,访问COM对象的唯一途径是COM接口,因此在编写操纵Windows 系统外壳程序首先要得到其提供的COM接口。所用的COM接口是IShellDispatch,它是从IDispatch接口派生来的,在VC安装目录的VC98IncludeExdisp.h头文件中有定义,下面节选了一些将要用到的接口定义: ……
EXTERN_C const IID IID_IShellDispatch;
#if defined(__cplusplus) && !defined(CINTERFACE)
interface DECLSPEC_UUID(D8F015C0-C278-11CE-A49E-444553540000)
IShellDispatch : public Idispatch
{
public:
……
virtual HRESULT STDMETHODCALLTYPE MinimizeAll( void) = 0;
virtual HRESULT STDMETHODCALLTYPE UndoMinimizeALL( void) = 0;
virtual HRESULT STDMETHODCALLTYPE FileRun( void) = 0;
virtual HRESULT STDMETHODCALLTYPE CascadeWindows( void) = 0;
virtual HRESULT STDMETHODCALLTYPE TileVertically( void) = 0;
virtual HRESULT STDMETHODCALLTYPE TileHorizontally( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ShutdownWindows( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Suspend( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTime( void) = 0;
virtual HRESULT STDMETHODCALLTYPE TrayProperties( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Help( void) = 0;
virtual HRESULT STDMETHODCALLTYPE FindFiles( void) = 0;
virtual HRESULT STDMETHODCALLTYPE FindComputer( void) = 0;
};
…… 该接口在CoCreateInstance()函数创建COM对象时将会得到指向其的指针,通过这个函数客户程序可以避免显式同类厂打交道,其实该函数内部也调用了CoGetClassObject()函数来获取COM对象的类厂,只不过它把通过类厂创建对象的过程封装起来了,只需用户指定对象类的CLSID和待输出的接口指针及接口ID,显然这样直接创建COM对象是非常便捷的,在获取到COM对象指针之后就可以通过这个指针去访问调用COM对象里的方法来实现Windows 外壳的种种功能调用了。下面是实现该功能的部分关键代码: ……
HRESULT sc;//返回结果
IShellDispatch *pShellDisp = NULL; //初始化接口指针
//直接创建COM对象
sc = CoCreateInstance( CLSID_Shell,//指定待创建的COM对象标识符
NULL, //指定被聚合时的外部对象的接口指针
CLSCTX_SERVER, //指定组件类别,可以指定进程内组件进程外组件或者进程内控制对象。
IID_IDispatch, //指定接口ID,需要注意的是这里指的是待
//创建的COM对象的接口ID,而非类厂对象的接口标识符
(LPVOID *) &pShellDisp );//存放函数返回的对象的接口指针
/* 在上述代码中,CoCreateInstance首先调用CoGetClassObject函数创建类厂对象,然后用得到的类厂对象的接口指针创建真正的COM对象,最后把类厂对象释放并返回,这样就很好的把类厂屏蔽起来,使用户用起来更为简单。*/
if( FAILED(sc) )//必须用FAILED 或SUCCECCED来判断COM对象是否创建成功
return;
pShellDisp->FindFiles(); //调用COM对象里的方法
pShellDisp->Release(); //释放申请到的接口指针
…… 在这里通过pShellDisp接口指针调用了COM对象的FindFiles()方法去进行查找文件的系统外壳操作。同样,可以根据实际需要灵活调用响应的方法来执行相应的外壳操作,主要有以下几个方法:MinimizeAll:所有窗口最小化、UndoMinimizeALL:恢复窗口最小化、FileRun:开始菜单的运行…、CascadeWindows:层叠窗口、TileVertically:垂直平铺、TileHorizontally:水平平铺、ShutdownWindows:关闭Windows、Suspend 挂起计算机、SetTime:设定时间、TrayProperties:任务栏属性、Help Windows:帮助、FindFiles:查找文件、FindComputer:查找计算机等。
这些接口均在VC安装目录的VC98IncludeExdisp.h头文件中有定义,可以通过对该文件的查看来编写响应的外壳操作代码。

⑹ 关于windows shell

Windows PowerShell 是微软公司为 Windows 环境所开发的壳程式(shell)及脚本语言技术,采用的是命令行界面。这项全新的技术提供了丰富的控制与自动化的系统管理能力。

之前的专桉代号是 Monad,程式另一个名称叫 Microsoft Shell(MSH)。

起源与目的
UNIX 系统一直有着功能强大的脚本(shell),Windows PowerShell 的诞生就是要提供功能相当于 UNIX 系统 BASH 的命令列壳程式,同时也内建脚本语言以及辅助脚本程式的工具。

程式特性
一致性的设计让所有工具和系统资料的使用语法、命名原则都相同。
脚本语言简单易学,而且能支援现有的脚本程式和命令列工具。
内含129种称为 cmdlet 的标准工具,可用来处理常见的系统管理工作。
具备完整的扩充功能,独立软体商或开发者都能很容易的自行扩充。
cmdlet 是 Windows PowerShell 的指令,发音念法为 command-let。这相当于 DOS 或其他壳程式的内建指令,指令名称的格式都是以连字号(-)隔开的一对动词和名词,并且通常都是单数名词;例如线上查询说明的 cmdlet 指令为 get-help,名称的动词部分大致有 get、set、add、remove 等等(字母都不分大小写)。

技术基础
Windows PowerShell 是以 .NET Framework 技术为基础,并且与现有的 WSH 保持回溯相容,因此它的脚本程式不仅能存取 .NET CLR,也能使用现有的 COM 技术。同时也包含了数种系统管理工具、简易且一致的语法,提升管理者处理,常见如登录资料库、WMI。Exchange Server 2007 以及 System Center Operations Manager 2007 等服务器软体都将内建 Windows PowerShell。

范例
停止所有目前执行中的以"p"字符开头命名的程式:
PS> get-process p* | stop-process

停止所有目前执行中的所有使用大于1000MB记忆体的程式:
PS> get-process | where { $_.WS -gt 1000MB } | stop-process

计算一个目录下档桉内的位元组大小:
PS> get-childitem | measure-object -property length -sum

等待一个叫做"notepad"的程式执行结束:
PS> $processToWatch = get-process notepad
PS> $processToWatch.WaitForExit()

将"hello, world!"字串转为英文大写字符,成为"HELLO, WORLD!":
PS> "hello, world!".ToUpper()

在字串"string"的第1个字符后插入字串"ABC",成为"sABCtring":
PS> "string".Insert(1, "ABC")

订阅一个指定的RSS Feed并显示它最近8个主题:
PS> $rssUrl = "http://blogs.msdn.com/powershell/rss.aspx"
PS> $blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl)
PS> $blog.rss.channel.item | select title -first 8

把"$UserProfile"设定成数值"UserProfile"的环境变数:
PS> $UserProfile = $env:UserProfile

⑺ shell 编程是可以在windows系统上操作吗

一般说的话shell直接指linux下的命令编程,而cmd直接指windows下的命令编程。。。

如果你说的shell是linux下的那种的话当然它也就不能在win下操作

⑻ 在windows中怎样运行shell脚本来编译程序

首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看。 并需要配置好git的bin,配置环境变量,把bin的绝对路径复制到环境变量中path。 配置git的环境变量之后,在任意文件进行创建一个为mkdir.sh,文件名可以是随意的结.

⑼ Windows中的Shell编程 Shell指的是什么意思

操作系统中,与用户直接交互的那一部分就叫 Shell。就是你能看得到的那些元素,像 DOS 中所谓的 SHELL 就是那个命令行,在 Windows 中就是这些图形元素,在 UNIX 中,SHELL 有很多种,可以根据自己的需要更换。

⑽ 哪位能介绍下Windows Shell编程的书籍

基本书籍推荐:《Windows Shell 编程.chm》,不过版本有点老。
分为五类函数:一般Windows函数;Shell内部函数;任务条函数;文件函数;文件夹函数
看出来了吧,其实就是API操作。
《Shell编程指南.pdf》难度有点大,但是很不错。

热点内容
配置试剂的瓶子如何灭菌 发布:2025-03-19 11:07:16 浏览:599
c语言编译生成文件 发布:2025-03-19 11:06:00 浏览:890
androidlistview列表 发布:2025-03-19 10:58:23 浏览:611
解压费是什么合同 发布:2025-03-19 10:53:32 浏览:39
java经典程序100例 发布:2025-03-19 10:52:46 浏览:524
php保留小数点后两位 发布:2025-03-19 10:47:47 浏览:428
c语言long是什么意思 发布:2025-03-19 10:47:10 浏览:900
离散数学编程 发布:2025-03-19 10:46:23 浏览:456
轿车买哪个配置的 发布:2025-03-19 10:46:22 浏览:844
linux打包目录 发布:2025-03-19 10:39:02 浏览:208