windows中的运行和命令提示符怎么用有哪里不一样

1 # create new excel instance 2 &$objExcel = New-Object -comobject Excel.Application 3 &$objExcel.Visible = $True 4 &$objWorkbook = $objExcel.Workbooks.Add() 5 &$objWorksheet = $objWorkbook.Worksheets.Item(1) 6 7 &# write information to the excel file 8 $i = 0 9 $first10 = (ps | sort ws -Descending | select -first 10)10 $first10 | foreach -Process {$i++; $objWorksheet.Cells.Item($i,1) = $_. $objWorksheet.Cells.Item($i,2) = $_.ws}11 $otherMem = (ps | measure ws -s).Sum - ($first10 | measure ws -s).Sum12 $objWorksheet.Cells.Item(11,1) = "Others"; $objWorksheet.Cells.Item(11,2) = $otherMem13 14 # draw the pie chart15 $objCharts = $objWorksheet.ChartObjects()16 $objChart = $objCharts.Add(0, 0, 500, 300)17 $objChart.Chart.SetSourceData($objWorksheet.range("A1:B11"), 2)18 $objChart.Chart.ChartType = 7019 $objChart.Chart.ApplyDataLabels(5) (1. 这个脚本调用了Excel的COM库。 2. 当然从命令耦合的角度来看,输出成文本格式更有利,但这个例子主要想说明PowerShell的强大以及微软产品优异的复用性。 3. 要手动启动PowerShell,可以在开始菜单的搜索框中直接键入PowerShell回车即可)简单领略PowerShell的强大之后,下文就从几个方面介绍一下PowerShell相对于以往版本的命令提示符甚至Linux Shell的优势。 Cmdlet + Regex + Pipeline + ... 以往cmd相对于Shell有很多不足,比如命令偏少,部分命令功能偏弱,对正则表达式不支持等等。但现在PowerShell一下赶上来不少。版内建支持414个命令(术语称为cmdlet),支持正则表达式,强大的管道应用(其实管道本身的功能和以前差不多,关键是冒出来一堆能用管道的命令,比如more, sort, foreach等等),和系统的联系也比以前紧密了很多。举几个例子来说明:dir registry::HKEY_CURRENT_USER可以直接显示注册表相应位置的内容,可以看到dir的功能改进了不少。ps | sort ws -Descending | select -first 10可以显示占用内存最大的10个进程,可以看到管道的灵活应用。dir -Name | ? {$_ -match "(?&num&.).*(\k&num&)"}可以显示出当前目录下文件名有重复字符的文件。比如abcda.efg,而abcd.efg则不会显示出来。可以看到PowerShell对正则表达式的支持相当强大。(确切的说严格的&已经无法实现这样的效果,需要 才能够支持。)以前为了演示Linux Shell的强大,发了一个自己的截图,在遇见PowerShell前觉得好神奇,所幸现在也可以实现了。:-) &(为了节约显示空间,PowerShell的部分显示结果被删除,但这个Prompt效果可以用以下脚本验证: function prompt {"($env:username)-($env:computername)-(`$?: $?)-(jobs: $((get-job | measure).Count))-($(get-location))`n(! $(((history)[-1]).ID + 1))-&"}) 大杀器 - 面向对象 Linux的设计思想决定所有的输入和输出都尽可能是文本格式,这样可以方便各进程间的合作。同样这也要求各个程序提供一定强度的文本解析能力。但Windows的思想与此不同,PowerShell中很多输入输出都不是普通的文本(plain text),而是一个个对象(objects)。因此与其说PowerShell是一种交互环境,不如说它是一种强大语言的Runtime,而这种语言甚至是面向对象的。比如当键入get-process查看当前进程列表时,系统返回的是这样的列表: Handles& NPM(K)&&& PM(K)&&&&& WS(K) VM(M)&& CPU(s)&&&& Id ProcessName-------& ------&&& -----&&&&& ----- -----&& ------&&&& -- -----------&&& 318&&&&&& 8&&& 12948&&&&&& 3872&&& 84&&&&&&&&&&& 1728 AppleMobileD&&& 115&&&&&& 5&&& 13816&&&&& 13328&&& 38&&&&&&&&&&& 6920 audiodg&& 1315&&&&& 21&&& 11732&&&&& 10988&& 108&&&&&&&&&&& 2544 CcmExec... ... 虽然看似一般的格式化文本,但其实这是一个数组,而每个数组元素又是Process类型的对象。同.NET一脉相承,PowerShell中的所有的类都继承自Object,且支持GetType()函数。因此我们可以执行(get-process).GetType()来看看它的类型: IsPublic IsSerial Name&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& BaseType-------- -------- ----&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& --------True&&&& True&&&& Object[]&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& System.Array 而数组中每个元素的类型可以用(get-process)[0].GetType()查看: IsPublic IsSerial Name&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& BaseType-------- -------- ----&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& --------True&&&& False&&& Process&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& System.ComponentM... 其中面向思想的思想非常明显,类成员,方法,继承都出现了。个人感觉这样的好处并不是指望能用PowerShell写什么大型软件,而是体现在另外两个方面:首先,这样让内置的cmdlet及其数据结构组织清晰,符合直觉,写代码时速度快不容易出错。第二,对面向对象的内建支持也为后面无缝接合.NET和COM接口提供了基础。 站在巨人的肩膀上 - 无缝调用.NET/COM .NET Framework中包含了一个异常强大的库,而微软为了保证二进制层面上跨语言的兼容性,很多库都是用COM封装的。PowerShell的一大特色就是可以直接调用这些库。比如前面的示例用$objExcel = New-Object -comobject Excel.Application创建了一个Excel对象。而wikipedia上的一个脚本更示范了这种无缝调用的强大。下面这个3句话的脚本的作用是显示一个RSS源最近的8篇文章的标题。注意其中网络连接,内容下载,XML解析等工作全部由.NET库完成,正因为站在巨人的肩膀上,PowerShell在实际使用中往往左右逢源,简洁高效。 $rssUrl = "http://blogs.msdn.com/powershell/rss.aspx"$blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl)$blog.rss.channel.item | select title -first 8 编辑,运行,调试 - IDE Windows程序开发,尤其是基于微软技术的开发很爽的一点就是有强大的IDE和专业的文档作支持。不论是Windows下的Visual Studio还是Linux下的Mono Develop,甚至连PowerShell这样的语言都有集编辑与调试为一体的IDE:Windows PowerShell ISE。有了自动完成,即时脚本交互,调试甚至远程调试,PowerShell脚本写起来&甚爽甚强巨&。当然文档也是一般的强大,依旧专业浩瀚。 蛋疼的伪装 - Profile 有了PowerShell以后,很少就去cmd了。不过作为一个蛋疼的装B男,把PowerShell伪装成cmd也是挺有乐趣的一件事。不难发现PowerShell和cmd仅仅在图标,标题,背景色,提示符,以及刚启动时的显示文字五个方面不同。图标和背景色在快捷方式属性中可以很方便的修改。而标题和提示符的修改就要用到Profile了。所谓Profile就是在每次启动PowerShell时都首先自动运行的一段脚本。这个脚本的路径在$profile变量中有设定。只要设定$host.UI.RawUI.WindowTitle为C:\windows\system32\cmd.exe就能将标题伪装为cmd。而自定义提示符为当前路径在PowerShell中自然万分简单。至于启动时的显示文字,只要通过/nologo参数隐藏原有的版本信息,再打印一行cmd中的文字就好了。最终效果如图:(关于Profile,可以参见) 另:进程级工作调度&& 并行支持? ==========================================================随着多核处理器的迅速发展,从.NET Framework 4.0开始,并行计算被一再强调。从System.Threading中新增加的并行工具类到F#这种非常适合并行化的函数式语言,微软适时对线程级并行提供了强大的支持。但是对于进程级的工作调度,Windows似乎还相当原始。举个最简单的例子来说,如果我们同时向一个移动硬盘启动5个拷贝会话的话,Windows会同时开始所有的拷贝操作。这样磁头会在不同的目标位置间反复进行无意义的移动(寻道),于是在硬盘灯的狂闪中,大量时间就被浪费了。同样当我们同时启动数个计算量大的进程时,Windows也会试图让这些进程&齐头并进&。然而为了避免某个进程被饿死,系统又不得不频繁切换进程,于是大量的时间又被浪费在了保存现场,进程切换,恢复现场上。这样来看,进程级的并行做的反而不够好。 所幸PowerShell中加入了任务调度管理功能。通过简单的实验,我们可以发现PowerShell对jobs的调度和Windows默认的大不相同,它一般维持和CPU核心数相同的进程高速运转,而其它进程仅仅占用小部分CPU时间。直到前面的进程结束工作后,后面才有新的进程递补进入高速运转的状态。==========================================================后来更仔细地做了实验以后发现,原来Windows内置的进程调度方案就是小部分高速运转(在我的双核处理器上是两个进程占用50%CPU),大部分低速跟进(其他所有进程分享剩下的50%CPU)。这样PowerShell的工作调度并没有改善系统原有的现状。同时由于PowerShell的调度系统需要占用不小的内存,初始化也需要时间。在实测中甚至比默认调度慢了50%。这个实验结果比较囧。不晓得为什么PowerShell中为什么要加入Job这个东西,难道仅仅为了异步调用吗? [Update] Another post also about powershell can be found in my blog:& 评论 - 101命令提示符和运行有什么不一样?_百度知道 命令提示符和运行有什么不一样? 我有更好的答案 命令提示符有点像98里的MS-DOS,而“运行”只能运行文件 采纳率:17% 为您推荐: 其他类似问题 命令提示符的相关知识 换一换 回答问题,赢新手礼包 个人、企业类 违法有害信息,请在下方选择后提交 色情、暴力 我们会通过消息、邮箱等方式尽快将举报结果通知您。为什么我在“运行”中输入cmd打不开命令提示符啊 提示系统找不到文件,这是怎么回事啊,高手告诉一下,谢谢急!!!!! 解锁命令提示符被禁用 ,打开注册表: HKEY_CURRENT_USER\Softwae\Micosoft\Windows\CuentVesion\Policies\Exploe 项“NoRealMode”设为0 也可用另一种办法,运行输入 c回车打开组策略,在左侧选用户配置管理模板系统在右侧选“阻止访问命令提示符”双击它,在打开的对话框中选择“未配置”按应用和确定。在右侧还有一项“不要运行指定的Windows应用程序”,双击它在“显示”中查看有没有一个名为“cmd.exe”如果有将它删除,按确定和应用。重新启动相关信息即可。 如果电脑中没有CMD 你点击我的网名,到我的共享资料中下载一个叫CMD(命令提示符),下载后,将他粘贴到C:\Windows\system32中即可,点击他既可使用(右键发个快捷方式放在附件中)。 1、如果故障依旧,请你用系统自带的系统还原,还原到你没有出现这次故障的时候修复(如果正常模式恢复失败,请开机按F8进入到安全模式中使用系统还原)。 2、如果故障依旧,使用系统盘修复,打开命令提示符输入SFC SCANNOW 回车(SFC和之间有一个空格... 解锁命令提示符被禁用 ,打开注册表: HKEY_CURRENT_USER\Softwae\Micosoft\Windows\CuentVesion\Policies\Exploe 项“NoRealMode”设为0 也可用另一种办法,运行输入 c回车打开组策略,在左侧选用户配置管理模板系统在右侧选“阻止访问命令提示符”双击它,在打开的对话框中选择“未配置”按应用和确定。在右侧还有一项“不要运行指定的Windows应用程序”,双击它在“显示”中查看有没有一个名为“cmd.exe”如果有将它删除,按确定和应用。重新启动相关信息即可。 如果电脑中没有CMD 你点击我的网名,到我的共享资料中下载一个叫CMD(命令提示符),下载后,将他粘贴到C:\Windows\system32中即可,点击他既可使用(右键发个快捷方式放在附件中)。 1、如果故障依旧,请你用系统自带的系统还原,还原到你没有出现这次故障的时候修复(如果正常模式恢复失败,请开机按F8进入到安全模式中使用系统还原)。 2、如果故障依旧,使用系统盘修复,打开命令提示符输入SFC SCANNOW 回车(SFC和之间有一个空格),插入原装系统盘修复系统,系统会自动对比修复的。 3、如果故障依旧,在BIOS中设置光驱为第一启动设备插入系统安装盘按R键选择“修复安装”即可。 4、如果故障依旧,建议重装操作系统。 其他答案(共2个回答) it.exe",改名为" ",双击运行,在 HKEY_LOCAL_MACHINE\Softwae\Micosoft\Windows NT\CuentVesion\Image File Execution Options中找到"msconfig.exe"、"egedit.exe"、" 命令提示符cmd和DOS操作系统是否关联 来源:&&&&浏览量:   什么是命令提示符(cmd.exe)?什么是DOS操作系统?两者之间是否有所关联呢?下面,墨染暖心将进行一一解答。   什么是命令提示符?   Windows命令提示符(cmd.exe)是Windows NT下的一个用于运行Windows控制台程序或某些DOS程序的shell程序。采用&MS-DOS方式&。可以通过输入一些命令来查看电脑的某些情况。 命令提示符cmd.exe界面   PS:在Windows 2000以前的Windows系统中没有此程序的,都是以command.com执行。   相关推荐:《》   什么是DOS操作系统   DOS,是磁盘操作系统(英文:Disk Operating System)的缩写,是个人计算机上的一类操作系统。 电脑开机的DOS系统界面   两者之间的关联与区别   1.Windows 2000以后的操作系统,包括Window 2000是不支持直接运行MS-DOS程序的,只有通过命令提示符才能执行代码。   2.cmd.exe是Windows NT命令行接口,它不是一个DOS窗口;而command.com是一个16位的DOS应用程序,它用于支持老的DOS应用程序,它一般运行于NTVDM中。所以Windows 2000以前的操作系统与DOS系统直接相关。   3.Windows NT内核系统是32和64位系统,并非windows 9x及之前的16/32位系统,自带的命令提示符(cmd)实际只能进行非DOS程序的操作。   4.DOS程序是需要ntvdm.exe辅助运行的。DOS是单独的一个16位操作系统,而cmd 是32和64位windows NT内核系统的一个程序。   【墨染暖心总结】命令提示符(cmd)不是纯DOS系统,它是Windows操作系统的一部分,执行部分DOS系统所拥有的功能。 Win7资讯排行 windows7系统之家win7序列号,安装了新系统后输入这些win7系统序列 看到有很多朋友不知道x86是32位还是64位,经常问小编到底是选 一键系统重装成为一种潮流。windows7之家重磅推出windows系统之家 很多人不知道怎么查看电脑配置,我们示范一个win7怎么查看电脑 原本电脑装了8G的内存,电脑显示只有一半不到.造成这个原因是因 微软已经提供的 Windows 7 序列号申请,不再需要那些破解补丁你 网络上出现很多人在问题事件名称: BlueScreen造成的 win7 蓝屏、自 win7系统之家为你提供此windows副本不是正版|此windows副本不是正版 本文详细介绍了win7系统下载哪个比较好的所有内容,包括现状分 众所周知,微软在9月30日发布了最新一代的操作系统Win10,而在 最新系统下载 4.1 GB | 简体中文 5.35 GB | 简体中文 4.12 GB | 简体中文 5.4 GB | 简体中文 5.39 GB | 简体中文 4.35 GB | 简体中文 28.4 MB | 简体中文 28.4 MB MB | 简体中文 28.4 MB | 简体中文

我要回帖

更多关于 命令提示符怎么用 的文章

 

随机推荐