![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-24 17:58 |
共 47,812 主题排行 / 349,910 发帖 / 今日 1 篇 / 48,262 会员排行 |
| WinPE、PowerShell及其它命令行系统专区 » [公告][原创]欢迎大家的到来暨PowerShell初步印象 |
| 可打印版本 5,679 / 15 |
| 第1楼 tigerpower | 发表于 2006-05-01 08:28 |
| 中级用户 发帖 99 积分 377 | |
|
[公告][原创]欢迎大家的到来暨PowerShell初步印象 这里刚刚成立,欢迎大家的到来!
由于正值五一假期,估计今后几天没有时间写文章,但也不希望这里是空荡荡的,所以就先简单的跟大家聊一聊PowerShell。 先申明一点,如果您是初学者,下面说的内容您并不是全懂,或者说,您对于命令行根本是个门外汉,但却对它很有兴趣,那么请您随时关注我们这个版块,我们将为初学者编写循序渐进的教程,使之能逐步掌握和使用。教程具体撰写工作将在节后逐步展开。 敬请期待! PowerShell是微软下一代Windows命令行工具,它是一个全新的命令行,我粗略地读了一下它的手册页,并简单地试了几条命令,给我最强烈的感觉是“这个新工具的用法太像python了”(python是一种面向对象的脚本语言)。 我们知道,传统的shell-比如windows XP中的cmd.exe,它的输入输出都是文本,当我们用管道或者重定向连接几个命令时,我们所传递的都是文本。而PowerShell与之完全不同,它的输入输出都是对象。您可能没有面向对象的编程经验,这不要紧,我们先来看几个例子: 今天是2006年5月1日,我现在只想要年份,在cmd.exe中,我们可以 C:\> echo %date:~0,4% 2006 用切片的方法获得前4个字符。但这种方法有一个问题,那就是其他民族可能用的是05/01/2006的月/日/年的书写习惯,所以当系统的“区域和语言选项”设置不同时,变量date前4个字符未必就是年份。 而在PowerShell中的做法是: PS C:\> ::now.year 2006 作为一个对象有属性now,now自身又有属性year。(属性其实类似于变量) 于是我们用上面的方法得到了年份。 如果我们要得到昨天日期,可以在PowerShell中: PS C:\> ::now.adddays(-1) 2006年4月30日 7:29:00 只要昨天日期中的月份: PS C:\> ::now.adddays(-1).month 4 adddays称为now的方法(方法其实类似于函数) 如果要把这个月份保存在变量中以便以后使用: PS C:\> $yestoday=::now.adddays(-1).month PS C:\> $yestoday 4 如果windows XP下的cmd要做同样的事(假设不借助第三方软件),一般先将年、月、日各自切片存入变量,然后再自己编写算法,由于要考虑一个月中有28天、30天、31天,还要考虑闰年,所以算法并不是很简单的。 可能您会问,究竟什么是属性,什么方法,它们要怎么使用? 举个例子:男生小明是体育委员,女生小玲是班长 小明作为一个对象他就有性别这个属性,这个属性的值就是男。 小明.性别 ->男 所以当在命令行里出现“小明.性别”,系统会自动计算出“男”。 类似的我们可以用“小玲.姓名”,系统会自动计算出“小玲”。 由于小玲是班长,在上下课时可以发送“起立”的指令。所以小铃就有“起立”这个方法,使用这个方法的结果就是全班同学站起。 小玲.起立() ->全班同学站起 又比如把"this is a string"转换成大写 PS C:\> "this is a string".ToUpper() THIS IS A STRING 只要是字符串,就一定有ToUpper()这个方法。 "this is a string".ToUpper()返回的仍然是一个字符串对象,我们还可以用字符串的方法继续下去。 PS C:\> "this is a string".ToUpper().ToLower() "this is a string" 关于PowerShell,今天就先谈到这里。 [ Last edited by tigerpower on 2006-5-2 at 12:50 ] |
|
| 第2楼 doscc | 发表于 2006-05-02 18:18 |
| 中级用户 发帖 93 积分 256 来自 广东 | |
|
支持
|
|
| 第3楼 doscc | 发表于 2006-05-02 18:20 |
| 中级用户 发帖 93 积分 256 来自 广东 | |
|
新的命令行.用的是对象.不错.
就像在VB家族一样.也是用对象. |
|
| 第4楼 wl00560 | 发表于 2006-05-02 19:49 |
| 银牌会员 发帖 709 积分 1,384 | |
|
问一下楼主,powerShell哪儿有下载的?我想学学,就是不要太难了,呵呵。
|
|
| 第5楼 tigerpower | 发表于 2006-05-02 20:35 |
| 中级用户 发帖 99 积分 377 | |
|
安装Windows PowerShell您需要
1. Windows XP/2003/Vista的操作系统 2. .NET Framework Version 2.0 RTM 微软官方2006年4月25日发布Windows PowerShell预览版(RC1),它的最终正式版有望在今年第四季度发布。 点击进入Windows PowerShell RC1下载页面(需注册) 同一页面上有关于PowerShell帮助文档的链接(“Windows PowerShell RC1 Documentation Pack”) 以及.NET Framework Version 2.0 RTM的链接(“More .NET Framework Downloads”) 除了32位的版本,它还有x64、ia64的版本。 [ Last edited by tigerpower on 2006-5-2 at 20:58 ] |
|
| 第6楼 wl00560 | 发表于 2006-05-02 21:04 |
| 银牌会员 发帖 709 积分 1,384 | |
|
原来还在测试啊,那就先等等。
|
|
| 第7楼 electronixtar | 发表于 2006-05-03 21:46 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
支持~~~~太象Bash了~~
|
|
| 第8楼 namejm | 发表于 2006-06-09 08:12 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
今天才看到微软的下一代命令行用法,感觉这个工具真是强大啊——不知道下个版本的操作系统还支持xp下的所有cmd命令不。
|
|
| 第9楼 IceCrack | 发表于 2006-07-13 07:44 |
| 中级用户 发帖 168 积分 332 来自 天涯 | |
|
呵呵 暂时还用不上。很多命令,现在的机子应该是不支持的。那个支持对像真的很不错
|
|
| 第10楼 willsion | 发表于 2006-07-31 13:11 |
| 高级用户 发帖 312 积分 793 | |
|
功能强大,不错。
感觉有点像C语言的“结构”部分。 [ Last edited by willsion on 2006-7-31 at 13:20 ] |
|
| 第11楼 shayulei | 发表于 2006-10-06 09:29 |
| 中级用户 发帖 74 积分 301 | |
|
Windows PowerShell的帮助文件不会用,所以Windows PowerShell不会用
|
|
| 第12楼 electronixtar | 发表于 2006-10-08 05:44 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
和楼上的有同感。不过现在 Power Shell 已经作为 微软 Script Center 的一部分了,足以可见PowerShell的重要性
|
|
| 第13楼 lxmxn | 发表于 2006-10-08 06:18 |
| 版主 发帖 4,938 积分 11,386 | |
|
顶一下先``
下一代的命令提示功能更强大了,支持~~~ |
|
| 第14楼 6622186 | 发表于 2007-04-25 10:54 |
| 高级用户 发帖 411 积分 894 | |
|
我下了, 还要 .net 的支持, .net 要二十二 M, 看了帮助, 不太懂, 就是什么对象, 还有什么别名, 后来不知怎么 .chm 文件 受限用户无法打开, 就把 .net 卸载了.
|
|
| 第15楼 lxmxn | 发表于 2007-04-28 18:12 |
| 版主 发帖 4,938 积分 11,386 | |
|
汗,先下载.net然后安装Powershell就行了啊,不用管.NET的,Powershell可以直接用。
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |