Ok algo tan simple simplemente no funciona para mí. Obtuve un cmdlet que acepta un solo parámetro. Estoy intentando llamar a un cmdlet dentro de un archivo por lotes de Windows. El archivo por lotes contiene:Llamando cmdlets de powershell desde el archivo por lotes de 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
Mi archivo PS1 nuevo no hacer nada especial:
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
}
Cuando ejecuto el archivo del palo que sólo ejecuta hasta el final (no hay mensajes de error) y no parece crea el archivo temp.txt
¡Puedo ejecutar el archivo de comando de powershell en el símbolo del sistema de PS pero no en cmd!
¿Alguien tiene alguna idea de lo que podría estar mal?
Gracias
Johannes: cmd.exe es una aplicación Win32 (aunque muchas personas todavía piensan en ello como el comando DOS). [La pregunta debe ser editada] – grawity
¿alguna solución final con el código fuente completo al respecto? – Kiquenet