A “real” Portable PowerShell (e.g., https://portableapps.com/node/3922) is not what I’m after. I’ve begun to put together a portable set-up which is useable on systems that have PowerShell installed; this would be a launcher useable similarly to Command Prompt Portable.
Here’s PowerShellPortable.cmd
:
@echo off
:: Home
set HomeDrive=%~d0
set HomePath=\Documents
set Home=%HomeDrive%%HomePath%:: I set %Path% here in my personal set-up; this is an area where coordination with Command Prompt Portable would be helpful
powershell -ExecutionPolicy Unrestricted -NoProfile -NoExit -File %HOME%\WindowsPowerShell\Profile.ps1
exit
And here’s X:\Documents\WindowsPowerShell\Profile.ps1
:
# Set and force overwrite of the $Home variable
Set-Variable Home $Env:Home -Force# Set the "~" shortcut value for the FileSystem provider
(get-psprovider 'FileSystem').Home = $Env:Home# Set this file as the profile for things like the posh-git installer
Set-Variable Profile $MyInvocation.MyCommand.Path
# Add local module path
$ProfilePath = split-path -parent $MyInvocation.MyCommand.Definition
$Env:PSModulePath = "$ProfilePath\Modules;" + $Env:PSModulePath
This works for me, but I would like to make this fit better with the PortableApps setup, and would welcome tips and advice.