title: Calling powershell cmdlets from Windows batch file
body: <p>Ok something so simple is just not working for me.  I got a cmdlet that accepts a single parameter.  I am trying to call a cmdlet within a Windows batch file.  The batch file contains:</p>
  
  <pre><code>cd %SystemRoot%\system32\WindowsPowerShell\v1.0
  powershell Set-ExecutionPolicy Unrestricted
  powershell 'C:\convert-utf8-to-utf16.ps1 C:\test.txt'
  powershell Set-ExecutionPolicy Restricted
  pause
  </code></pre>
  
  <p>My ps1 file again not doing anything special:</p>
  
  <pre><code>function convert-utf8-to-utf16 {   
    $tempfile = "C:\temp.txt"
    set-ExecutionPolicy Unrestricted
    get-content -Path $args[0] -encoding utf8 | out-file $tempfile -encoding Unicode
    set-ExecutionPolicy Restricted
  }
  </code></pre>
  
  <p>When i execute the bat file it just runs to completion (no error messages) and it does not appear to create the temp.txt file.</p>
  
  <p>I can run the powershell command file at the PS command prompt but not in cmd!</p>
  
  <p>Anyone got any ideas what could be wrong?</p>