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

Posted

技术标签:

【中文标题】Powershell:使用许多文件名执行命令的更短方法?【英文标题】:Powershell: shorter way to execute command with many filenames? 【发布时间】:2014-10-07 03:22:09 【问题描述】:

不要在命令行上输入这个长命令:

python babynames.py baby1990.html baby1992.html baby1994.html ... baby2008.html

从 1990 年到 2008 年,有没有更短的方法可以这样输入,增量为 2?

【问题讨论】:

我认为你可以构建一个字符串,然后运行. $yourstring 将其作为命令执行。 【参考方案1】:

另一个版本:

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

或一行:

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

【讨论】:

【参考方案2】:

powershell方式:

$cmd="babynames.py"
(1998..2008)|%
    if ($_ % 2 -eq 0)
        $cmd=$cmd+" baby"+$_+".html"
    

start-process python.exe $cmd

【讨论】:

【参考方案3】:

是的,做一个 For 循环。

$Cmd = "python babynames.py"
For($a=1990;$a -le 2008;$($a++;$a++))
    $cmd = "$cmd baby$a.html"

& $cmd

【讨论】:

有趣。没想到$cmd = "$cmd baby$a.html"$cmd += " baby$a.html" 一样工作 实际上,当我运行& $cmd 时出现以下错误:The term 'python babynames.py baby1990.html baby1992.html baby1994.html baby1996.html baby1998.html baby2000.html baby2002.html baby2004.html baby2006.html baby2008.html' is not recognized as the name of a cmdlet, function, script file, or operable program. 即使python 命令直接在命令行上运行。 @vxs8122 尝试指定python.exe的完整路径

以上是关于Powershell:使用许多文件名执行命令的更短方法?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Maybe 遍历嵌套记录的更短方法

Windows PowerShell使用

动态获取当前方法名称的更短方法[重复]

检查 jquery 的多个输入的值是不是为空的更短方法

CASE 表达式 WHEN 的更短替代方案?

无需表格即可收集和发送数据的更短方式