Я использую Get-ChildItem для сохранения местоположений файлов, которые соответствуют параметрам ввода пользователя.Я не могу понять (я новичок в powershell), как использовать строковые переменные с командлетами.
Я определю $ search_param, как в моем сценарии ниже.
Я пытался использовать встроенный отладчик на powershell ise, и, если что-то это меня смутило еще больше.
Именно здесь я обнаружил, что замена использования $ search_param фактическим значением $ search_param приводит к выводу csv, но использование $ search_param не дает вывода.Некоторой полезной информацией может быть то, что я определил $ search_param с двойными кавычками.
Строка, которая вызывает все проблемы:
Get-ChildItem 'C:\Users\USER\' -recurse '$search_param'
$ search_param определяется как:
| where { $_.name -like "*peanut*" -or $_.name -like "*butter*" -or $_.name -like "*test*"}
| where { $_.extension -in ".txt",".csv",".docx" }
| where { $_.CreationTime -ge "08/07/1998" -and $_.CreationTime -le "08/07/2019" }
| select FullName | Export-Csv -Path .\SearchResults.csv -NoTypeInformation
Как ни странно, у меня все это работало до того, как я пошел на ланч и вернулся к другой истории ..
Я использую Export-csv в другом фрагменте моего скрипта, и это работает как задумано.
Возможно, я коснулся чего-то маленького, не связанного с приведенной мною строкой, так как думаю, что это должно сработать ..