Ga naar inhoud

Altijd werkende snelkoppeling


dreivilo47

Aanbevolen berichten

Ik wil graag een snelkoppeling die altijd werkt zonder de paden aan te passen wanneer ik m'n usbstick gebruik op een andere pc.

 

Voorbeeld: Ik heb een snelkoppeling om de PowerShell ISE op te starten als admin.

Het doel van de snelkoppeling is: %windir%\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe "W:\PowerShell\test-code.ps1","W:\PowerShell\template_script.ps1"

 

"W:" of "W:\" zou dus moeten vervangen worden door iets wat altijd werkt.  Iets in de aard van "%windir%".

 

Iemand een suggestie?

Link naar reactie
Delen op andere sites

Hoewel je er niet duidelijk bij zegt op welk medium je die snelkoppeling wil staan hebben en gebruiken, lijkt het me logisch dat het vanop je usb stick zal zijn.

Het pad van je snelkoppeling leidt o.a ook naar de schijfletter W. Wellicht omdat het pad verwijst naar scripts op die usb-stick. In dat geval zal die usb-stick altijd de schijfletter W moeten dragen.  Dat moet je dan telkens even aanpassen van zodra je die stick aan een computer koppelt waaraan deze niet eerder als W-schijf gekoppeld is.

Toch verschaft je uitleg me onvoldoende duidelijkheid.

Link naar reactie
Delen op andere sites

@droske, bedankt voor je snelle reactie.

 

De snelkoppeling (met doel %windir%\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe "W:\PowerShell\test-code.ps1","W:\PowerShell\template_script.ps1") staat inderdaad op m'n usbstick.

 

Die usbstick is op m'n laptop thuis de schijfletter W.  Op de stick is een map "PowerShell".  In die map zitten o.a. 2 scripts: test-code.ps1 en template_script.ps1.

 

Het is de bedoeling dat die snelkoppeling altijd werkt zonder de paden aan te passen wanneer ik m'n usbstick gebruik op een andere pc.  We gaan er vanuit dat m'n usbstick op een andere pc niet de schijfletter W heeft.

 

De schijfletter W zou dus automatisch moeten vervangen worden door iets wat altijd werkt.  %windir% is een omgevingsvariabele.  Bestaat er een omgevingsvariabele voor de huidige schijfletter?

Link naar reactie
Delen op andere sites

1 uur terug, dreivilo47 zei:

We gaan er vanuit dat m'n usbstick op een andere pc niet de schijfletter W heeft.

Heb je dat wel gecontroleerd?

Link naar reactie
Delen op andere sites

4 uren geleden, droske zei:

Heb je dat wel gecontroleerd?

Neen, dat is ook niet nodig.  De kans is klein dat m'n usbstick op een andere pc de schijfletter W heeft.  Op een andere pc kan de letter W bijvoorbeeld ook in gebruik zijn door een netwerkverbinding.

Link naar reactie
Delen op andere sites

 

18 minuten geleden, dreivilo47 zei:

Neen, dat is ook niet nodig.  De kans is klein dat m'n usbstick op een andere pc de schijfletter W heeft. 

Die kans is verwaarloosbaar, tenzij je die stick eerder al met die computer gekoppeld hebt en er toen de letter W aan gekoppeld hebt. Waarom geef je die stick dan niet vlug even de schijfletter W? Het kost je amper 15 seconden.

 

20 minuten geleden, dreivilo47 zei:

Op een andere pc kan de letter W bijvoorbeeld ook in gebruik zijn door een netwerkverbinding.

Ook die kans lijkt me klein en zo ja, pas dan even je commando aan.

Link naar reactie
Delen op andere sites

18 uren geleden, droske zei:

 

Die kans is verwaarloosbaar, tenzij je die stick eerder al met die computer gekoppeld hebt en er toen de letter W aan gekoppeld hebt. Waarom geef je die stick dan niet vlug even de schijfletter W? Het kost je amper 15 seconden.

 

Ook die kans lijkt me klein en zo ja, pas dan even je commando aan.

 

Je hebt gelijk wat je zegt in bovengenoemde tekst.  Maar... dat is juist wat ik niet wil.  Ik wil een snelkoppeling die altijd werkt.  Volgens mij is dat niet mogelijk in Windows 10.

 

Momenteel ben ik bezig een PowerShell script te schrijven zodat de schijfletter altijd correct is.

 

Het script is bijna klaar.  Als het klaar is, post ik het hier.  Zo kunnen andere mensen er misschien ook voordeel uit halen.

Link naar reactie
Delen op andere sites

Het PowerShell script is klaar.  Zoals je ziet worden de schijfletter en het dubbele punt opgehaald en tegen de rest van het pad geplakt zodat we altijd een correct pad hebben om de 3 ps1-bestanden te openen.

 

Het script is getest op de volgende 5 schijfletters: O, W, X, Y en Z

De schijfletter heb ik telkens aangepast via Schijfbeheer (diskmgmt.msc).  In elk geval werkte het script correct.

 

$ScriptDir = $PSScriptRoot # Script Directory
$script1 = $ScriptDir.Substring(0,2) + '\PowerShell\test-code.ps1'
$script2 = $ScriptDir.Substring(0,2) + '\PowerShell\template_script.ps1'
$script3 = $ScriptDir.Substring(0,2) + '\PowerShell\test-uitvoertijd.ps1'
$komma = ','
$ArgumentList = $script1 + $komma + $script2 + $komma + $script3
Start-Process -FilePath PowerShell_ISE.exe -ArgumentList $ArgumentList -Verb RunAs

 

@droske, bedankt voor je tijd en moeite.  M'n probleem is opgelost.  Op dit onderwerp mag een slotje.  Fijn weekend!

aangepast door dreivilo47
Link naar reactie
Delen op andere sites

  • Gast sloot dit topic
Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.