Powershell:使用多个文件名执行命令的较短方法?

Powershell:使用多个文件名执行命令的较短方法?,powershell,command-line,command,Powershell,Command Line,Command,不要在命令行中键入此长命令: python babynames.py baby1990.html baby1992.html baby1994.html ... baby2008.html 从1990年到2008年,有没有一种更短的方式以2的增量输入这样的内容?是的,做一个for循环 $Cmd = "python babynames.py" For($a=1990;$a -le 2008;$($a++;$a++)){ $cmd = "$cmd baby$a.html" } &

不要在命令行中键入此长命令:

python babynames.py baby1990.html baby1992.html baby1994.html ... baby2008.html
从1990年到2008年,有没有一种更短的方式以2的增量输入这样的内容?

是的,做一个for循环

$Cmd = "python babynames.py"
For($a=1990;$a -le 2008;$($a++;$a++)){
    $cmd = "$cmd baby$a.html"
}
& $cmd
动力壳道:

$cmd="babynames.py"
(1998..2008)|%{
    if ($_ % 2 -eq 0){
        $cmd=$cmd+" baby"+$_+".html"
    }
}
start-process python.exe $cmd
另一个版本:

$f = 0..9 | % { "baby$(2 * $_ + 1990).html" }
& python.exe babynames.py $f
或者在一行中:

& python.exe babynames.py (0..9 | % { "baby$(2 * $_ + 1990).html" })

我认为您可以构建一个字符串,然后运行
$yourstring
将其作为命令执行。有趣。从来没有想过
$cmd=“$cmd baby$a.html”
实际上像
$cmd+=“baby$a.html”
一样工作,当我运行
&$cmd
时,我得到了以下错误:
术语“python babynames.py baby1990.html baby1992.html baby1994.html baby1996.html baby1998.html baby2000.html baby002.html baby2004.html baby2006.html baby2008.html”未被识别为cmdlet、函数、脚本文件的名称,或可操作的程序。
即使python命令直接在命令行上工作。@vxs8122尝试指定python.exe的完整路径