Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 从文本文件中选择字符串并创建变量_Powershell - Fatal编程技术网

Powershell 从文本文件中选择字符串并创建变量

Powershell 从文本文件中选择字符串并创建变量,powershell,Powershell,我有一个文本文件,其中包含一个字符串,我需要创建一个变量。我需要将“file”的值作为变量保留。如何捕获并将其变为变量:“\APPSRV\I\Run\OPTI\CLIENT\20171031\25490175\Data\brtctybv\”。每个文件的数据都会更改,但会保留相同的格式,以\开头,以\结尾\ 示例文本文件 order_id = 25490175-brtctybv file = \\APPSRV\I\Run\OPTI\CLIENT\20171031\25490175\Data

我有一个文本文件,其中包含一个字符串,我需要创建一个变量。我需要将“file”的值作为变量保留。如何捕获并将其变为变量:“\APPSRV\I\Run\OPTI\CLIENT\20171031\25490175\Data\brtctybv\”。每个文件的数据都会更改,但会保留相同的格式,以\开头,以\结尾\

示例文本文件

order_id = 25490175-brtctybv
file     = \\APPSRV\I\Run\OPTI\CLIENT\20171031\25490175\Data\brtctybv\
copies   = 1
volume   = 20171031-brtctybv
label    = \\domain.com\prodmaster\jobs\OPTI\CLIENT\Cdlab\somefile.file
merge    = \\APPSRV\I\Run\OPTI\CLIENT\20171031\25490175\mrg\25490175-brtctybv.MRG
FIXATE   = NOAPPEND

请参阅以查看正则表达式的运行情况。
.matches.groups[1]。值
正在获取捕获组1的值。捕获组由模式中的
()
创建。有关cmdlet的更多信息,请参阅。

正则表达式功能强大,但很复杂;有时有一些概念上更简单的替代方案:

PS> ((Get-Content -Raw file.txt).Replace('\', '\\') | ConvertFrom-StringData).file

\\APPSRV\I\Run\OPTI\CLIENT\20171031\25490175\Data\brtctybv\
  • 构建用于解析由
    =

  • 值中的
    \
    被解释为转义字符,因此输入文件中的
    \
    将加倍为
    .Replace('\','\')

  • 结果是一个哈希表(类型
    [hashtable]
    )<代码>获取内容-原始-读取为单个字符串的输入文件-用于确保输出单个哈希表);访问其
    文件
    键可检索相关值


您的意思是“保留为变量值”?是的,我需要将所选字符串保留为变量值。我很难弄清楚如何从文本文件中获取UNC路径。感谢AoT,regex God感谢regex演示更新,非常感谢
PS> ((Get-Content -Raw file.txt).Replace('\', '\\') | ConvertFrom-StringData).file

\\APPSRV\I\Run\OPTI\CLIENT\20171031\25490175\Data\brtctybv\