从文件中读取行并使用参数运行外部程序(PowerShell)
我试图从一个包含5个文件名(每行1个)的文件中逐行读取。 然后,我想用包含此行的参数启动一个外部应用程序,并将输出写入文本文件。 不幸的是,它只处理5个文件中的3个,知道为什么吗 提前谢谢 我当前的代码如下所示:从文件中读取行并使用参数运行外部程序(PowerShell),powershell,foreach,Powershell,Foreach,我试图从一个包含5个文件名(每行1个)的文件中逐行读取。 然后,我想用包含此行的参数启动一个外部应用程序,并将输出写入文本文件。 不幸的是,它只处理5个文件中的3个,知道为什么吗 提前谢谢 我当前的代码如下所示: ForEach ($line in (Get-Content "C:\temp\filenames.txt")) { Start-Process cmd.exe -ArgumentList '/c img_stat.exe', $line ,'&g
ForEach ($line in (Get-Content "C:\temp\filenames.txt"))
{
Start-Process cmd.exe -ArgumentList '/c img_stat.exe', $line ,'>> c:\temp\files.txt'
}
Remove-Item -Path C:\temp\filenames.txt
下面的结果是什么?获取内容“C:\temp\filenames.txt”|度量对象计数:5平均值:总和:最大值:最小值:属性:可能与img_stat.exe有关尝试添加-等待启动进程已尝试过该操作,但结果相同。我必须在循环中运行该进程,因为img_stat.exe不支持将多个文件名作为参数。@DavidMartin@Agent47:我猜这是
>c:\temp\files.txt
上的竞争条件,因为每个进程都是以某种方式并行启动的。我建议用>c:\temp\files\uu[line number].txt输出每一行。