当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 适合懒惰 IT 专业人员的 PowerShell

作者:精品下载站 日期:2024-12-14 07:42:44 浏览:14 分类:玩电脑

适合懒惰 IT 专业人员的 PowerShell


[玩转系统] 适合懒惰 IT 专业人员的 PowerShell

PS C:\> dir c:\work\*.xml | sort LastWriteTime


    Directory: C:\work


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         12/5/2013   4:19 PM        228 ComputerData.xml
-a---         12/5/2013   5:31 PM       1930 csdata.xml
-a---         12/5/2013   5:33 PM       1336 csdata2.xml
-a---         12/6/2013   9:32 AM       1352 mydata.xml
-a---        12/27/2013  12:39 PM   17060304 WeeklyProcs.xml
-a---        12/30/2013   6:12 PM          3 x.xml
-a---         2/24/2014   4:02 PM       1138 foo.xml
-a---         2/25/2014   9:51 AM      28740 servercoremod.xml
-a---         6/16/2014   1:32 PM     104622 windowtime.xml

我发现输入 LastWriteTime 很乏味。我什至一直忘记的一件事是制表符补全在这种情况下可以工作。我可以开始输入属性名称,按 Tab 键,PowerShell 应该展开该属性。这可能是最佳解决方案,也是我需要养成的习惯。

另一种选择是创建快捷变量。

PS C:\> $lwt = "lastWriteTime"
PS C:\> dir c:\work\*.xml | sort $lwt

结果是相同的,制表符补全也适用于变量名称。使用这种方法,您可以在 PowerShell 配置文件中定义这些变量。第三种方法是为常用属性创建您自己的别名。

在 PowerShell 3.0 及更高版本中,您可以使用 Update-TypeData cmdlet 来完成此操作。

Update-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName sz -Value Length
Update-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName lwt -Value LastWriteTime

我刚刚为文件对象创建了 2 个别名属性,是的,制表符补全也适用于这些属性。

PS C:\> dir c:\work\*.xml | sort lwt,sz | select name,sz,lwt

Name                                                            sz lwt
----                                                            -- ---
ComputerData.xml                                               228 12/5/2013 4:19:42 PM
csdata.xml                                                    1930 12/5/2013 5:31:48 PM
csdata2.xml                                                   1336 12/5/2013 5:33:32 PM
mydata.xml                                                    1352 12/6/2013 9:32:20 AM
WeeklyProcs.xml                                           17060304 12/27/2013 12:39:52 PM
x.xml                                                            3 12/30/2013 6:12:29 PM
foo.xml                                                       1138 2/24/2014 4:02:18 PM
servercoremod.xml                                            28740 2/25/2014 9:51:04 AM
windowtime.xml                                              104622 6/16/2014 1:32:03 PM

在本例中,别名对排序命令有帮助,但对表达式的 Select-Object 部分可能没有多大帮助。因此,我可能会添加一些额外的别名,无论如何它们都会更有意义。

Update-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName Size -Value Length
Update-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName Modified -Value LastWriteTime
Update-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName Created -Value CreationTime

现在我可以拥有最好的一切:

PS C:\> dir c:\work\*.xml | sort lwt,sz | select Name,Size,Created,Modified

Name                                         Size Created                  Modified
----                                         ---- -------                  --------
ComputerData.xml                              228 12/5/2013 2:12:22 PM     12/5/2013 4:19:42 PM
csdata.xml                                   1930 12/5/2013 5:31:48 PM     12/5/2013 5:31:48 PM
csdata2.xml                                  1336 12/5/2013 5:33:32 PM     12/5/2013 5:33:32 PM
mydata.xml                                   1352 12/6/2013 8:45:48 AM     12/6/2013 9:32:20 AM
WeeklyProcs.xml                          17060304 12/27/2013 12:39:33 PM   12/27/2013 12:39:52 PM
x.xml                                           3 12/30/2013 6:12:29 PM    12/30/2013 6:12:29 PM
foo.xml                                      1138 2/24/2014 2:36:39 PM     2/24/2014 4:02:18 PM
servercoremod.xml                           28740 2/25/2014 9:49:59 AM     2/25/2014 9:51:04 AM
windowtime.xml                             104622 6/16/2014 1:32:03 PM     6/16/2014 1:32:03 PM

我将所有 Update-TypeData 命令放入一个脚本中,并在我的配置文件脚本中点源它。现在,我有一些快捷方式可以节省一些输入,如果我记得使用制表符补全,则更是如此,还有一些别名可以为我提供更有意义的输出。

祝你度过愉快的一周,尽量不要工作太辛苦!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯