使用正则表达式

时间:2015-06-08 20:24:23

标签: regex powershell powershell-ise

我是脚本新手,我正在尝试使用windows powershell运行脚本从.vbs文件中提取数据;该文件看起来像这样:

...
data = field1
...
data = field2
...
data = field3
...
data = field4
...

到目前为止,我有:

$input_path = 'C:\folder\file.vbs'
$output_file = 'C:\folder\extracted_data.txt'
$regex = 'data = [A-Za-z0-9]*'
select-string -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches} | % {$_.Value} > $output_file

运行脚本时,extracted_data.txt文件完全为空。但是,如果我将.vsb文件中的所有文本复制到新的file.txt文件中,并将输入路径更改为从该文件读取,则数据将按原样提取; extracted_data.txt看起来像这样:

data = field1
data = field2
data = field3
data = field4
...

如何修改我的脚本,以确保它从.vsb文件中的文本中读取?

修改

检查文件的权限:

PS C:\Users\largox> Get-Acl C:\Lara\IISData-LIVE.vbs | Format-List


Path   : Microsoft.PowerShell.Core\FileSystem::C:\folder\file.vbs'
Owner  : BUILTIN\Administrators
Group  : COMP1\Domain Users
Access : BUILTIN\Administrators Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
         NT AUTHORITY\Authenticated Users Allow  Modify, Synchronize

所以它似乎不是读/写权限问题,除非最后一行显示我不知道的东西?

0 个答案:

没有答案