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:使用许多文件名执行命令的更短方法?的主要内容,如果未能解决你的问题,请参考以下文章