Два решения, представленные thusfar (даже хотя один из них принят, и оба имеют upvotes) на самом деле не обеспечивают адекватного решения вопроса - они оба заставляют вас прыгать через обручи. Вопрос поставил вопрос о том, что по просто помещал*.dat
на линию связи, как можно сделать базовый код лечить его , как вы ожидали бы. То есть, как сделать код , просто поступайте правильно. С другими оболочками и другими командлетами, вы все этим *.dat
, не нравится:
foobar(fizzbuzz[--brobdingnag*!& '\''*.dat''`])
(КИ, я преувеличиваю, чтобы сделать точку :-) Но есть простой способ просто сделать право thing-- проверьте, используются ли подстановочные знаки, а затем просто развернуть их:
param
(
[String[]]$files
)
$IsWP = [System.Management.Automation.WildcardPattern]::ContainsWildcardCharacters($files)
if($IsWP) {
$files = Get-ChildItem $files | % { $_.Name }
}
echo $files
Собираетесь ли вы обрабатывать файлы один за другим? –
Нет, я объединю их всех вместе. –