gpt4 book ai didi

powershell - 如何将文件列表作为参数传递给 powershell 脚本

转载 作者:行者123 更新时间:2023-12-04 16:34:53 25 4
gpt4 key购买 nike

如何将文件列表作为参数传递给 Powershell 脚本?

param
(
[String[]]$files
)

echo $files

当我尝试运行它时
PS D:\> & '.\merge outputs.ps1' *.dat

它打印
*.dat

但我期待类似的东西
file1.dat
file2.dat
...
fileN.dat

最佳答案

到目前为止提出的两个解决方案(即使一个被接受并且都得到了赞成)并没有真正为这个问题提供一个足够的解决方案——它们都让你跳过箍。提出的问题表明,只需输入 *.dat在命令行上,如何让底层代码像您期望的那样对待它。也就是说,如何让代码简单地做正确的事情。使用其他 shell 和其他 cmdlet,您只需做 *.dat ,不是这样的:

foobar(fizzbuzz[--brobdingnag*!& '\''*.dat''`])

(好吧,我夸大了一点:-)但是有一种简单的方法可以做正确的事情——检查是否使用了通配符,然后扩展它们:
param
(
[String[]]$files
)
$IsWP = [System.Management.Automation.WildcardPattern]::ContainsWildcardCharacters($files)
if($IsWP) {
$files = Get-ChildItem $files | % { $_.Name }
}
echo $files

关于powershell - 如何将文件列表作为参数传递给 powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com