windows脚本文件漫谈

早期的DOS窗口和提示符

说起使用电脑,渔父是从DOS时代开始的,证据就是渔父拥有6位数的QQ号。但是用得早不等于用得精,有了windows的图形操作系统,谁还去用命令行敲命令呀。所以渔父如今只记得几个简单的DOS命令,比如dir,cd,type,ipconfig之类。

那时,执行程序是需要在提示符后面输入命令的。通过这些命令,可以完成一些文件查看,复制删除,甚至文件生成等功能。但一次输入一个命令实在是太麻烦了,如果想一次执行很多命令怎么办?windows帮我们想了一个办法,把这些命令写一个文件里面,然后执行这个文件。这样的文件叫做批处理文件,它的扩展名是.bat 。在命令提示符下,直接输入文件名就可以执行。或者直接双击扩展名是.bat的文件就可以执行。这个应该是最早的windows脚本文件。

现在我们仍然可以启动windows的【命令提示符】,在运行窗口输入 cmd 即可进入提示符状态。

win键 + r 可以启动运行窗口

单击确定,然后得到了这个黑窗口

win10的DOS界面

和上面那个DOS很像是吧,只不过现在是版本更高了。


纵观操作系统的发展,windows出来之后曾让大家眼前一亮,然后就横扫天下,以至于各种Linux都开始纷纷效仿,但效仿了那么多年始终是个四不像,一直也没有成熟的应用。直到那个被上帝啃了一口的苹果推出了X OS操作系统,又让大家眼前一亮,原来还可以这么玩。

MS VS APPLE

但是在我们的心中,在我们的电影中,真正的电脑高手、黑客精英,没有一个是拿着鼠标在那里点来点去的,都是双手放在键盘上,帕金森晚期那样地抖着,屏幕上一行行不知道是代码还是乱码(滚动速度太快实在看不清)向流水一样的滚动……

话说天下大事,分久必合,合久必分。我们中国古代讲究天理循环,开始注定要结束,而结束又是一个开始。现在人的流行时尚也一样,今天半永久,明天烟熏妆。windows出来以后人们对命令符操作日益的不待见,以至于很多计算机专业的人根本不知道DOS为何物(也可能是听过过没见过),但是会不会再捡起它?

PowerShell的界面

从win7开始突然出来一个叫PowerShell的东西。我有一天好奇的点了一下,出来一个蓝色背景窗口?  难道是cmd修改了自己的配色方案,真相到底是什么?如果说小娜是为了蹭人工智能的热点和满足编程大叔们的萝莉控。那么这个和cmd长得差不多的东西又玩的是什么套路?渔父经过3秒的分析后,认为自从windows操作系统的口碑被Mac系统超越后,微软也在反思,赶上Mac的最快的方法是什么?那就是学Mac呀。因此从使用的角度渔父觉得win10很像Mac的X OS操作系统。小娜、微软商店、包括PowerShell,都是X OS有的东西。其中微软商店的使用,让我这个多年的windows老用户,完全摸不着头脑。安装好的程序到哪里去了?C:\Program Files下面竟然没有?!只见硬盘空间少,不知程序为何多?后来网上必应一下才知道,windows专门把它们放到了一个非常隐秘的地方,至于什么地方,请大家自行搜索。

兜了半天圈子,PowerShell到底是干什么用的?不急,让我先来插播一下VB Script(啥叫VB Script不想深入说明,简单说script中文叫做脚本语言,特点是一行一行的按顺序执行)。

话说因为盖兹对VB异乎寻常的热爱(据说这是他学会的第一门语言),他处处想把VB发扬光大,不仅搞了一个VB Script,还把它加入到自家的操作系统里面去。所以windows可以执行一些扩展名为 .vbs 的脚本语言,这个脚本语言应该就是的VB Script,所以早期的杀毒软件查杀病毒的时候也把.vbs文件当成可执行文件。

让我们来体验一下这种脚本语言,首先打开记事本,在里面输入:

MsgBox "Hello, world"

1.vbs文件的内容

然后选择文件另存为,此时要把【保存类型】修改为 “所有文件 (*.*)”,文件名输入1.vbs,再保存

注意保存类型选择所有文件

这时候你得到了这样一个文件

1.vbs

现在双击它


可以单击确定关闭

弹出了一个对话框,上面写着:Hello, world。

感觉10秒钟学会了编程有木有!有木有!

想来点高级的可以在文件里加入下面代码。

set fs = CreateObject("Scripting.FileSystemObject")
set drivec = fs.GetDrive("C:\")
MsgBox TypeName(drivec)
emptyspace = drivec.AvailableSpace
MsgBox "Avaialable on C:\: " & _
FormatNumber(emptyspace/1024^2,1) & " MB"

这几行命令的结果是在对话框中显示你的c盘还有多少可用空间。

感觉瞬间高大上了有木有?有木有?

虽然我们只教了一句 MsgBox 的命令,但聪明的人其实已经学会了编程,并可以用于实践了。

方法一:在桌面创建一个.vbs文件,文件名起一个吸引眼球的题目,然后用 MsgBox 显示想说的话,用半角引号" "扩起来,一句话一个 MsgBox……

biu~~,一个表白神器诞生了!


了解Linux的都是知道,Linux的控制台太强大了,怎么个强大法一般windows用户是理解不了的,一句话两句话也说不清楚(真相其实是作者不懂Linux)。Mac电脑的X OS因为脱胎于Linux,所以控制台也非常强大呀!那咱们windows是不是也得学呀。所以就搞了个PowerShell吧,当然这原因是渔父自己瞎猜的。

PowerShell看起来和cmd差不多,但是本质是不一样的,PowerShell能执行的命令更丰富,支持.Net,面向对象,以后可能成为平台,成为标准……(以上都是我网上找的,具体意思我也不懂)

那么既然那么厉害,让我们通过一个例子见识一下。首先还是用记事本创建一个文件,然后把下面代码copy进去,保存为2.ps1,方法跟之前一样,保存的时候选择全部文件而不是文本文件。

# create new excel instance
$objExcel = New-Object -comobject Excel.Application
$objExcel.Visible = $True
$objWorkbook = $objExcel.Workbooks.Add()
$objWorksheet = $objWorkbook.Worksheets.Item(1)

# write information to the excel file
$i = 0
$first10 = (ps | sort ws -Descending | select -first 10)
$first10 | foreach -Process {$i++; $objWorksheet.Cells.Item($i,1) = $_.name; $objWorksheet.Cells.Item($i,2) = $_.ws}
$otherMem = (ps | measure ws -s).Sum - ($first10 | measure ws -s).Sum
$objWorksheet.Cells.Item(11,1) = "Others"; $objWorksheet.Cells.Item(11,2) = $otherMem

# draw the pie chart
$objCharts = $objWorksheet.ChartObjects()
$objChart = $objCharts.Add(0, 0, 500, 300)
$objChart.Chart.SetSourceData($objWorksheet.range("A1:B11"), 2)
$objChart.Chart.ChartType = 70
$objChart.Chart.ApplyDataLabels(5)

这是你刚刚保存的文件,如果看不到扩展名,请自行网上搜索。

2.ps1

然后在文件上单击右键,选择【使用 PowerShell 运行】

2.ps1的运行方法

此时,如果你的电脑安装了EXCEL,你就会发现竟然打开了一个EXCEL,而且上面出现了一个饼形图!有木有,有木有!

2.ps1的运行结果

这个脚本的作用就是自动找到最占内存的10个进程,然后将它们占用的内存画成一个三维饼图,更加高大上了有木有?有木有?

好了,现在你应该大致知道windows脚本是什么东西了,大致知道PowerShell是个什么东西了,可以这些对你都没有用,你只是普通用户呀。哈哈哈哈!!!

但是也不要太失望,后来我想了想,其实还是有用的,不知道大家注意过没有,windows自带的计算器是不能直接进行四则运算的,那么怎么办呢?用PowerShell呀!

完美演绎四则运算

这就是一个检查作业的神器呀!

注1:未满18岁者请勿随便尝试上述文中脚本,否则因此导致系统死机、不能上网、电脑中毒、被黑客攻击、喊麦失败、主机爆炸等等后果均与作者无关!

注2:本文内容只是作者的感觉和印象,不具备任何专业性,请读者自辨。

注3:本文脚本内容来自于网络,感谢原作者的付出
http://www.cnblogs.com/yubo_ccu/archive/2009/02/04/1383752.html
http://www.cnblogs.com/grapeot/archive/2010/02/22/1670822.html

你可能感兴趣的:(windows脚本文件漫谈)