Nasıl çalıştırın geçerli dizin yürütülmekte almak için
Bu basit bir görev olmalı ama idam çalıştırın karışık başarı ile bulunduğu dizinin yolunu almak için nasıl birkaç kez gördüm. C:\temp\myscripts\settings.xml en ayar dosyası olan c:\temp\myscripts\mycmdlet.ps1 öldürdüğümde örneğin mycmdlet içinde bir değişken c:\temp\myscripts saklamak mümkün olmak istiyorum.ps1.
Bu çalışan bir çözümdür (biraz zor olsa da):
$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
$settingspath = $directorypath '\settings.xml'
Bir tane daha sadece test ortamı üzerinde çalışan bu çözüm önerdi:
$settingspath = '.\settings.xml'
İkincisi çok yaklaşım ve bir parametre olarak filepath her zaman ayrıştırmak zorunda tercih severim, ama benim geliştirme ortamı üzerinde çalışmak için alamadım. Kimsenin ne bir öneriniz var mı? PowerShell nasıl yapılandırıldığına ile ilgili bir şey var mı?
CEVAP
Evet bu işe yarar. Ama eğer mutlak yolunu görmek istiyorsanız, bu tüm ihtiyaç vardır:
(Get-Item -Path ".\" -Verbose).FullName
Nasıl bir C programı içinde geçerli di...
Nasıl node.js geçerli betiğin yolunu a...
Nasıl bir dosya adı kullanarak uygun b...
Nasıl geçerli kullanıcı için geçici di...
Nasıl geçerli sayfa MVC 3'te URL almak...