Browse Source

fix powershell script issues after actually testing on windows powershell rather than on linux powershell

Daniel Sheffield 2 weeks ago
parent
commit
3937d324bb
2 changed files with 15 additions and 5 deletions
  1. 10 3
      dot.ps1
  2. 5 2
      park.ps1

+ 10 - 3
dot.ps1

@@ -1,7 +1,8 @@
 #!/usr/bin/env pwsh
 #!/usr/bin/env pwsh
+[CmdletBinding()]
 param (
 param (
-    [Parameter(Mandatory=$true)][string]$Action,
-    [Parameter(Mandatory=$true)][string]$Package,
+    [Parameter(Mandatory = $true)][string]$Action,
+    [Parameter(Mandatory = $true)][string]$Package,
     [string]$Target
     [string]$Target
 )
 )
 
 
@@ -38,7 +39,13 @@ function ActionToArg {
 function TargetToDest {
 function TargetToDest {
     param ([string]$target)
     param ([string]$target)
     switch ($target) {
     switch ($target) {
-        "user"   { return @{ target = $env:HOME }}
+        "user"   {
+            $vhome = $env:HOME
+            if (-not $vhome) {
+                $vhome = [Environment]::GetFolderPath("UserProfile")
+            }
+            return @{ target = $vhome }
+        }
         "system" { return @{ target = "/" }} # TODO: should be C:/ or something
         "system" { return @{ target = "/" }} # TODO: should be C:/ or something
         default  { return @{ }}
         default  { return @{ }}
     }
     }

+ 5 - 2
park.ps1

@@ -1,4 +1,4 @@
-#!/bin/env pwsh
+#!/usr/bin/env pwsh
 # Copyright (c) Daniel Sheffield 2025
 # Copyright (c) Daniel Sheffield 2025
 # All rights reserved
 # All rights reserved
 #
 #
@@ -96,7 +96,10 @@ if ($Stow -or $Restow) {
     
     
         Write-Verbose "Linking: $targetFile -> $($_.FullName)"
         Write-Verbose "Linking: $targetFile -> $($_.FullName)"
         if (-not $Simulate) {
         if (-not $Simulate) {
-            New-Item -ItemType SymbolicLink -Path $targetFile -Target $_.FullName | Out-Null
+            #New-Item -ItemType SymbolicLink -Path $targetFile -Target $_.FullName | Out-Null
+            #Write-Verbose 'cmd /c mklink "$($_.FullName)" "$targetFile" | Out-Null'
+            # cmd mklink works in Developer Mode, but New-Item does not
+            cmd /c mklink "$targetFile" "$($_.FullName)" | Out-Null
         }
         }
     }
     }
     return
     return