gpt4 book ai didi

Windows Powershell 命令返回数组

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Windows Powershell 命令返回数组由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

当我们把一个命令的执行结果保存到一个变量中,可能会认为变量存放的是纯文本。 但是,事实上Powershell会把文本按每一行作为元素存为数组。如果一个命令的返回值不止一个结果时,Powershell也会自动把结果存储为数组.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
PS C:Powershell> $IPcfg=ipconfig
PS C:Powershell> $IPcfg
 
Windows IP Configuration
Ethernet adapter Local Area Connection:
 
   Connection-specific DNS Suffix . : ***
   Link-local IPv6 Address . . . . . : ***
   IPv4 Address. . . . . . . . . . . : 192.168.140.128
   Subnet Mask . . . . . . . . . . . : 255.255.252.0
   Default Gateway . . . . . . . . . : 192.168.140.1
 
Tunnel adapter isatap.mossfly.com:
 
   Connection-specific DNS Suffix . : ***
   Link-local IPv6 Address . . . . . : ***
   Default Gateway . . . . . . . . . :***
 
Tunnel adapter Teredo Tunneling Pseudo-Interface:
 
   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix . :
PS C:Powershell> $IPcfg.Count
22

使用数组存储结果 判断一个变量是否为数组 。

?
1
2
3
4
5
6
7
8
PS C:Powershell> $ip=ipconfig
PS C:Powershell> $ip -is [array]
True
PS C:Powershell> "abac" -is [array]
False
PS C:Powershell> $str="字符串"
PS C:Powershell> $str.ToCharArray() -is [array]
True

查看数组的元素个数用$array.Count属性。访问第x个元素,使用$array[x-1],因为数组是以0开始索引的.

使用管道对数组进一步处理 。

?
1
2
3
4
5
6
PS C:Powershell> ipconfig | Select-String "IP"
 
Windows IP Configuration
   Link-local IPv6 Address . . . . . : ***
   IPv4 Address. . . . . . . . . . . : ***
   Link-local IPv6 Address . . . . . : ***

使用真实的对象操作 。

为什么不愿把IPconfig返回的结果称为对象,因为它不是真正Cmdlet命令,真正的Powershell命令返回的数组元素可不止一个字符串,它是一个内容丰富的对象.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
PS C:Powershell> ls
 
   Directory: C:Powershell
 
Mode        LastWriteTime   Length Name
----        -------------   ------ ----
d----    2011/11/23   17:25      ABC
d----    2011/11/29   18:21      myscript
-a---    2011/11/24   18:30   67580 a.html
-a---    2011/11/24   20:04   26384 a.txt
-a---    2011/11/24   20:26   12060 alias
-a---    2011/11/24   20:27   12060 alias.ps1
-a---    2011/11/23   17:25     0 b.txt
-a---    2011/11/23   17:25     0 c.txt
-a---    2011/11/23   17:25     0 d.txt
-a---    2011/11/25   11:20    556 employee.xml
-a---    2011/11/29   19:23   21466 function.ps1
-a---    2011/11/28   11:12    186 LogoTestConfig.xml
-a---    2011/11/24   17:37    7420 name.html
-a---    2011/11/28   15:30     63 ping.bat
-a---    2011/11/24   17:44   735892 Powershell_Cmdlets.html
-a---    2011/11/30   16:04    2556 psdrive.html
-a---     2011/12/2   18:47    140 test.ps1
-a---    2011/11/23   17:37    242 test.txt
-a---    2011/11/28   16:42    170 test.vbs
PS C:Powershell> $result=ls
PS C:Powershell> $result.Count
20

数组的每一个元素存放的是一个System.IO.DirectoryInfo对象。 当我们输出这些对象时,Powershell会自动帮我们把它转换成友好的文本格式.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PS C:Powershell> $result[0].gettype().fullname
System.IO.DirectoryInfo
PS C:Powershell> $result[0]
   Directory: C:Powershell
Mode        LastWriteTime   Length Name
----        -------------   ------ ----
d----    2011/11/23   17:25      ABC对于任何一个对象都可以使用Format-List * 查看它所有的属性和方法。
 
PS C:Powershell> $result[0] | fl *
 
PSPath      : Microsoft.PowerShell.CoreFileSystem::C:PowershellABC
PSParentPath   : Microsoft.PowerShell.CoreFileSystem::C:Powershell
PSChildName    : ABC
PSDrive      : C
PSProvider    : Microsoft.PowerShell.CoreFileSystem
PSIsContainer   : True
BaseName     : ABC
Mode       : d----
Name       : ABC
Parent      : Powershell
Exists      : True
Root       : C:
FullName     : C:PowershellABC
Extension     :
CreationTime   : 2011/11/23 17:25:53
CreationTimeUtc  : 2011/11/23 9:25:53
LastAccessTime  : 2011/11/23 17:25:53
LastAccessTimeUtc : 2011/11/23 9:25:53
LastWriteTime   : 2011/11/23 17:25:53
LastWriteTimeUtc : 2011/11/23 9:25:53
Attributes    : Directory

最后此篇关于Windows Powershell 命令返回数组的文章就讲到这里了,如果你想了解更多关于Windows Powershell 命令返回数组的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com