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 / 18: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 / 22:17
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '479755',
    'url' => 'cmd-to-powershell-transition-in-batch-script',
];

$_COOKIE = [
    '_csrf-frontend' => '312b5fb417140c7155f64c3ad469a2013bd7099cb97b0dc4452484da6db11530a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"n6zO3xsMvnSEtfNi6HXMAh7NWr7M_3nl";}',
    'advanced-frontend' => '5ljicqclsc21q8t5rgoj0egcpv',
];

$_SESSION = [
    '__flash' => [],
];