【问题标题】:Manipulating a string in a text file via PowerShell to return a specific value通过 PowerShell 操作文本文件中的字符串以返回特定值
【发布时间】:2014-04-19 15:34:41
【问题描述】:

我目前正在尝试从 assemblyinfo.cs 文件中提取版本号,然后将版本号 1.2.3.4 附加到另一个文本文件中。

我尝试使用 .split() 方法,但只有当项目已经是一个字符串(从我读过的内容)并且我使用 选择字符串

这就是我正在使用的东西

$a = cat "c:\path_to_file\AssemblyInfo.cs" |选择字符串 AssemblyVersion

这将产生:[assembly: AssemblyVersion("5.7.4.1")]

然后如果我尝试做 $a.split(' " ') 我会得到

方法调用失败,因为 [System.Object[]] 不包含名为“split”的方法。 在行:1 字符:21 + $versionstring.split

正如我所说,这是因为它被视为一个对象,而不是一个字符串。

我想要的结果是这样的:

PS C:\> $a = '[assembly: AssemblyVersion("5.7.4.1")]'
$b = $a.split(' " ')
$b[2]
5.7.4.1

我假设问题在于我使用 CAT 显示内容然后拉出字符串,我不确定。

【问题讨论】:

    标签: string powershell


    【解决方案1】:

    Select-String 返回一个 MatchInfo 对象。该行的字符串值在该对象的 .line 属性中

     $a.line.split(' " ')
    

    应该会给你想要的结果。

    使用

     $a | Get-Member 
    

    查看返回的所有可用属性。

    【讨论】:

    • 谢谢您,先生!!!!!!!!!!这正是我需要的!我会尽快接受答案!
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多