gpt4 book ai didi

Powershell 使用选择字符串访问文件 - 访问被拒绝

转载 作者:行者123 更新时间:2023-12-05 07:42:49 26 4
gpt4 key购买 nike

我有一个简单的 myscript.ps1 来从文件中提取 URL,取自 this tutorial :

$input_path = 'd:\myfolder\*'
$output_file = 'd:\extracted_URL_addresses.txt'
$regex = '([a-zA-Z]{3,})://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)*?'
select-string -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file

我以管理员身份运行 PowerShell,然后键入:

D:/myscript.ps1

但对于 d:\myfolder 中的大部分路径,我得到:

select-string : The file D:\myfolder\templates cannot be read: Access to the path 'D:\myfolder\templates' is denied.

该文件夹是使用 WinSCP 从 FTP 服务器复制的。我尝试转到文件夹属性并勾选“只读”框而不是应用,但每次我重新输入属性时它再次“只读”(我不确定这是否与问题有关)。

我在 Windows 10 上工作。

最佳答案

扩展来自@LotPings 的评论您可以只获取 D:\myfolder 中的文件通过使用 -File来自 Get-ChildItem 的参数.这样您就不会将目录传递给 Select-String .

$input_path = 'd:\myfolder'
$Files = Get-ChildItem $input_path -File | Select-Object -ExpandProperty FullName
Foreach ($File in $Files) {
$output_file = 'd:\extracted_URL_addresses.txt'
$regex = '([a-zA-Z]{3,})://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)*?'
select-string -Path $file -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file
}

关于Powershell 使用选择字符串访问文件 - 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44184530/

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