¿Cómo establecer la ubicación de FromFile en Powershell?
Estoy preparando un script, que necesita usar algunas imágenes de la misma carpeta que el script. Las imágenes se mostrarán en la GUI de WinForms.
$imgred = [System.Drawing.Image]::FromFile("red.png")
Cuando ejecuto el script ps1 manualmente desde la carpeta con solo hacer clic, carga imágenes y las muestra. Desafortunadamente, no recuerdo exactamente cómo configuré esto, pero por lo que puedo, fue solo el programa predeterminado para usar para archivos ps1. Cuando ejecuto el script desde un archivo cmd (para ocultar la ventana cmd), también los carga.
Pero cuando abro con Powershell IDE y lo ejecuto, obtengo errores y no se muestran iconos en mi GUI. Cuando abro con Powershell, tampoco puede cargarlos.
La única diferencia entre esos modos de ejecución que puedo encontrar es con:
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
$scriptPath #always same, the location of script
(Get-Location).Path #scriptlocation when icons loaded, system32 folder when unsuccessful load
El mismo comportamiento al hacer cd $ scriptPath, por lo que la carpeta actual probablemente no sea la culpable.
Sé que puedo escribir $ scriptPath / red.png en cada línea de lectura de archivo (FromFile), pero lo que quiero es definirlo una vez, la ubicación predeterminada de FromFile, y luego simplemente tener un nombre de archivo simple, independientemente de la forma en que lo ejecute .
¿Qué se debe cambiar para que la ruta de lectura de archivos predeterminada sea la misma que la ubicación de mis scripts?