我正在使用powershell来查找用户输入的目录中的所有文件,并使用用户输入的字符串。现在,如果你运行我的脚本,并输入一个没有子文件夹的文件路径,那么脚本工作正常,但如果我添加一个带有子文件夹的文件夹,那么它会给我一个拒绝访问错误。我尝试了几种不同的方法对其进行编码,但没有成功。我需要它能够搜索父目录以及子文件夹。这就是我现在所拥有的。
#Sets the ability to execute the script
Set-ExecutionPolicy RemoteSigned
#Requests the loctation of the files to search
$Location = Read-Host 'What is the folder location of the files you want to search?'
#Sets the location based off of the above variable
Set-Location $Location
#Sets the alias
Set-Alias ss Select-String
#Requests the text to search for in the files
$File_Name = Read-Host 'Object Name?'
#Searches the files and returns the filenames
ss $File_Name * | Format-List FileName
#Sets location back to root
Set-Location C:
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
答案 0 :(得分:5)
不要将文件夹指定为Select-String。替换此行:
ss $File_Name * | Format-List FileName
与
Get-ChildItem -r | Where {!$_.PSIsContainer} | ss $File_Name
在V3或更高版本上,您可以简化为:
Get-ChildItem -r -file | ss $File_Name