0

当我从这样的特定文件夹中找到.bat文件时:get-childitems

$bats = Get-ChildItem "C:\Projects\PSScripts\batfiles"

foreach ($bat in $bats) 
{
  start-process  
}

我如何让它们运行?启动过程不起作用

谢谢

4

2 回答 2

2

只需这样做:

Get-ChildItem 'C:\Projects\PSScripts\batfiles' -Filter '*.bat' | % {
  & $_.FullName
}
于 2013-08-01T11:05:02.560 回答
1

尝试这个:

get-childitem . | foreach-object { start-process -filepath $_ }

显然,而不是 dot 使用您的目录路径。

首先,您使用 get-childitem 获取所有文件,然后使用管道将结果传递给 foreach 对象。$_ 代表当前迭代中的变量。

如果你想使用你的脚本块,它应该是这样的:

$bats = Get-ChildItem "C:\Projects\PSScripts\batfiles"

foreach ($bat in $bats) 
{
  start-process -filepath $bat
}
于 2013-08-01T10:59:39.110 回答