我试图找到所有包含$var并以".log"结尾的文件,我需要它是递归
我试过这个
$logDirectoryPath = $Directory + "*"
Get-ChildItem -Path $logDirectoryPath -Include *$iniContent["Search"]["FileWith"]*, *.log -Recurse -File -Name | ForEach-Object {
$lbox_files.Items.Add($_) # we add file to a list
}
但是这个命令返回每个单独的文件,而不管$var和Recurse似乎被禁用:/
文件如下所示:foo_test.log
另一个文件:\user\foo_1.log
(附言:$var我的意思是它取决于$iniContent["Search"]["FileWith"]值(
您可以通过以下命令找到所有文件:
Get-ChildItem -Path "c:" -Recurse -File -Filter "*$var*.log"
它返回文件夹中包含名称为$var
的所有文件,并以".log"
结尾
经过多次尝试,我做到了,并且成功了:
Get-ChildItem -Path $Directory -Filter *.log -Recurse -File -Name | ForEach-Object {
$fileWith = $iniContent["Search"]["FileWith"]
if ($_ -like '*{0}*' -f $fileWith) {
$lbox_files.Items.Add($_) # we add the file name to a list
}
}
如果有更好的方法,也可以随意发布;(