Ok, qualcosa di così semplice non funziona per me. Ho ottenuto un cmdlet che accetta un singolo parametro. Sto cercando di chiamare un cmdlet all'interno di un file batch di Windows. Il file batch contiene:Chiamare i cmdlet di PowerShell dal file batch di Windows
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
Il mio file ps1 ancora una volta non fare nulla di speciale:
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
}
Quando eseguo il file bat solo corre a compimento (nessun messaggio di errore) e non sembra crea il file temp.txt.
Posso eseguire il file di comando di PowerShell al prompt dei comandi di PS ma non in cmd!
Qualcuno ha qualche idea su cosa potrebbe essere sbagliato?
Grazie
Johannes: cmd.exe è un'applicazione Win32 (sebbene molte persone lo considerino ancora come il comando DOS.com). [La domanda deve essere modificata] – grawity
qualsiasi soluzione finale con codice sorgente completo su di esso? – Kiquenet