cmd para transição do powershell em script em lote

1

Existe uma maneira de escrever um script em lote que é executado via C:\>cmd.exe a.bat para alternar para powershell.exe e executar as linhas de código restantes?

1. | echo "Hi. I'm cmd.exe."
2. | powershell
3. | echo "Now, I'm PowerShell.exe! Look:"
4. | get-random

Isto apenas pára depois da linha # 2 esperando pela entrada.

    
por Firebowl2000 20.02.2012 / 19:18

1 resposta

0

Você pode escrever um arquivo .bat e usá-lo para a primeira linha:

;@Findstr -bv ;@F "%~f0" | powershell -noprofile -command - & goto:eof

Esta linha canaliza todas as linhas do arquivo atual ("% ~ f0") que não iniciam com "; @F" para que o PowerShell seja executado. As linhas restantes seriam o código do PowerShell. Aqui está um exemplo.

;@Findstr -bv ;@F "%~f0" | powershell -noprofile -command - & goto:eof

$procCount = (Get-Process).Count
Write-Host "There are $procCount processes running right now." -fore green
Start-Sleep 5
    
por 20.02.2012 / 23:17