我需要在服务器上搜索一些文件...但是有问题的文件埋在用户ID下的文件夹中。因此,我尝试通配%username%以进入要搜索的文件夹。
使用%username%和*疲倦于通配上层文件夹以进入子文件夹。
$Path="\\server\profiles\%username%\Data\"
$filename='notes.ini'
Get-ChildItem -Path $Path -Recurse -Filter $filename -ErrorAction SilentlyContinue
我希望仅在Data文件夹中搜索notes.ini文件,而不必搜索其间的所有文件夹。
答案 0 :(得分:1)
如果您不知道用户名,则可以在路径中使用通配符星号*
$Path = "\\server\profiles\*\Data\" #"# use wildcard to search all user folders
$filename = 'notes.ini'
# this returns the full file and path names of the file you are looking for:
Get-ChildItem -Path $Path -Recurse -Filter $filename -File -ErrorAction SilentlyContinue | Select-Object -ExpandProperty FullName
如果这不是您想要的,请在问题中添加更多说明。
答案 1 :(得分:0)
%username%是$ env:username
%username%不是通配符,它是cmd中的环境变量