<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results for '(app:forums OR groupid:24)' matching tags 'Start-Job Background' and 'batch multiple command lines powershell windows'</title><link>http://powershell.com/cs/search/SearchResults.aspx?q=(app:forums+OR+groupid:24)&amp;tag=Start-Job+Background,batch+multiple+command+lines+powershell+windows&amp;orTags=0&amp;o=DateDescending</link><description>Search results for '(app:forums OR groupid:24)' matching tags 'Start-Job Background' and 'batch multiple command lines powershell windows'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Trouble backgrounding .bat file invocations</title><link>http://powershell.com/cs/forums/thread/15967.aspx</link><pubDate>Fri, 13 Apr 2012 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:15967</guid><dc:creator>BillJr58</dc:creator><description>&lt;p&gt;&lt;strong&gt;Background:&lt;br /&gt;&lt;/strong&gt;I&amp;#39;m using PowerShell to automate a legacy build process.&amp;nbsp; There are a couple .bat files I need to invoke and would like to run them in parallel.&amp;nbsp; They end with a &amp;quot;Pause&amp;quot; command, so I need to supply input in order for the jobs to complete.&lt;/p&gt;
&lt;p&gt;I&amp;nbsp;can invoke the .bat files serially, simply using &lt;span style="text-decoration:underline;"&gt;&amp;quot; &amp;quot; |&lt;/span&gt; to satisfy the Pause command.&amp;nbsp; The trouble began when I tried to use Start-Job to run them in parallel.&amp;nbsp; Can you explain why PowerShell is not happy with this code?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Code snippet:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; $jobs = @()&lt;br /&gt;&amp;nbsp;&amp;nbsp; foreach ( $jn in &amp;quot;compile_all_ada&amp;quot;, &amp;quot;compile_all_c&amp;quot; ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $bf = (Get-Location),&amp;quot;$jn.bat&amp;quot; -join &amp;quot;\&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $jobs += Start-Job {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&amp;quot; &amp;quot; | &amp;amp; $bf) | Out-File -FilePath $jn.log -Encoding ascii -Force&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } -Name $jn&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Invocation error:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt;&amp;gt; $jobs | Receive-Job&lt;br /&gt;The expression after &amp;#39;&amp;amp;&amp;#39; in a pipeline element produced an invalid object. It must result in a command name, script block &lt;br /&gt;or CommandInfo object.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidOperation: (:) [], RuntimeException&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : BadExpression&lt;/p&gt;</description></item></channel></rss>