[玩转系统] PowerShell 连接字符串 |了解 PowerShell 连接字符串如何工作?
作者:精品下载站 日期:2024-12-14 04:51:22 浏览:17 分类:玩电脑
PowerShell 连接字符串 |了解 PowerShell 连接字符串如何工作?
PowerShell 连接字符串简介
PowerShell Join String(.NET 字符串类的方法),它组合多个字符串并按照提供输入的顺序生成单个字符串,并且 Join-String 方法已添加到新的 PowerShell 核心版本中,并且它支持高级PowerShell 字符串的连接方法。
语法
-Join <String[]>
<String[]> -Join <Delimiter>
连接字符串语法,
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
连接路径语法,
Join-Path
[-Path] <String[]>
[-ChildPath] <String>
[[-AdditionalChildPath] <String[]>]
[-Resolve]
[-Credential <PSCredential>]
[<CommonParameters>]
PowerShell 连接字符串如何工作?
PowerShell Join 命令作用于字符串,将多个字符串连接成一个。在 Join 语法中,
-Join <String[]>
<String[]> -Join <Delimiter>
String[] - 表示多个字符串输入。
- 指示要连接的字符串。如果没有提供分隔符,-Join 命令默认使用 (“ ”) 连接字符串。
例如,
-Join ("Hello","PoweShell","Join")
输出:
您可能已经注意到,我们在括号内使用了字符串,因为带圆括号的字符串提到了数组,如果我们不使用它,并且它们之间有逗号(,)分隔符,则只会提交第一个字符串到连接运算符。请参阅下面的示例,
-Join "Hello","PoweShell","Join"
输出:
您还可以使用变量来连接字符串。
$var = "Hello","PoweShell","Join"
-Join $var
输出:
此 -Join String 方法适用于任何版本的 PowerShell(框架或核心版本)。
还有另一种称为 Join-String 的方法,它执行相同的多个字符串连接操作,但它有一些高级方法,例如我们可以对子字符串应用公式,我们可以使用展开,在连接脚本后使用不同的参数作为分隔符,例如 SingleQuote 或 DoubleQuote或者我们可以从一个对象创建一个类定义。
此方法仅适用于 PowerShell Core(6.2 或更高版本)。
如果不指定任何属性,直接使用 Join-String 命令,它将使用 $OFS(输出字段分隔符),默认为“ ”。
例如,
"Hello","PowerShell","Join" | Join-String
输出:
还有连接父路径和子路径的命令 Join-Path。
示例
以下是下面提到的示例
1.-Join字符串命令的多种使用方式。
不使用数组,
-Join "Animals","Birds","Vehicles"
输出:
通过使用数组,
-Join ("Animals","Birds","Vehicles")
输出:
通过使用变量,
$a = "Hello","PowerShell","Join"
-Join $a
输出:
2. 使用特定分隔符连接字符串。
要使用特定分隔符连接字符串,我们需要使用语法所示的命令,示例如下所示。
示例#1
"Hello","PowerShell","Join" -join ','
输出:
示例#2
"PowerShell","Azure","Runbook" -join " "
输出:
示例#3
在下面的示例中,我们使用字符来连接字符串。
"PowerShell","Azure","Runbook" -join "#O"
输出:
您还可以直接将 Join 操作应用于 cmdlet。例如,以下命令将从文本文件中获取内容并用分号 (;) 将它们连接起来。
(Get-Content C:\Temp\Servers.txt) -join ';'
输出:
3.加入路径命令。
要加入子路径和父路径,
Join-Path -Path C:\ -ChildPath 'temp'
输出:
当我们在路径中使用 ‘\’ 时,它会被忽略,如下所示。
Join-Path -Path 'C:\' -ChildPath '\temp'
输出:
4. 连接字符串命令。
如上所述,此命令提供了连接多个字符串的高级功能。例如,
示例1:Join-String命令的默认分隔符。
"PowerShell","Azure","runbook" | Join-String
输出:
在上面的示例中,字符串与 $OFS 连接。
示例2:带有分隔符的Join-String命令。
"PowerShell","Azure","runbook" | Join-String -Separator ','
输出:
示例 #3 - 使用分隔符和 -SingleQuote 属性连接字符串。
"PowerShell","Azure","runbook" | Join-String -Separator ',' -SingleQuote
输出:
示例 #4 - 使用分隔符和 -DoubleQuote 属性连接字符串。
"PowerShell","Azure","runbook" | Join-String -Separator ',' -DoubleQuote
输出:
示例 #5 - 使用 Join-String 进行 Get-Process。
在下面的示例中,我们将前 5 个进程与属性“Name”、分隔符并使用双引号连接起来。
Get-Process | Select -First 5 | Join-String -Property Name -Separator ',' -DoubleQuote
输出:
这里,检索正在运行的进程列表的 Get-Process 通过管道传递给 Join-String 命令,并使用属性“Name”进行连接。您还可以选择不同的属性,例如进程 ID。
Get-Process | Select -First 5 | Join-String -Property id -Separator ','
输出:
示例 #6 - 使用带有 SubString 操作的属性名称来连接进程名称。
在下面的示例中,我们将使用子字符串操作来连接前 3 个字符的进程。
Get-Process | Select -First 5 | Join-String -Property {$_.Name.Substring(0,3)} -Separator ',' -DoubleQuote
输出:
在下面的示例中,我们选择前 5 个进程,将其传递给 Join-String 命令的 Name 属性,然后将其转换为 Caps 和连接。
Get-Process | Select -First 5 | Join-String -Property {$_.Name.ToUpper()} -Separator ',' -DoubleQuote
输出:
示例#7 - 带有特殊字符的分隔符。
作为分隔符,我们还可以使用特殊字符。您可以从下面的 MS 链接获取特殊字符列表。
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-7.1
下面的命令将检索以“Power”开头的进程,并使用其“Name”属性将它们连接起来,并用特殊字符“n(换行符)和“t”(制表符)将它们分开,并将输出标记为“PowerShell Processes”和用于它的-OutPrefix 参数。
Get-Process Power* | Join-String -Property Name -Separator "`n`t" -OutputPrefix "PowerShell Processes: `n`t"
输出:
请注意:我们在行尾添加了特殊字符,因此第一行将相应地设置格式。
结论
当我们处理字符串时,PowerShell Join 命令在脚本中非常有用,当我们处理路径时也非常有用,因此我们可以连接路径,也可以对分割字符串执行连接操作。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag