У меня есть собственный командлет, который можно вызвать так:
Get-Info ".\somefile.txt"
Мой код командлета выглядит примерно так:
[Parameter(Mandatory = true, Position = 0)]
public string FilePath { get; set; }
protected override void ProcessRecord()
{
using (var stream = File.Open(FilePath))
{
// Do work
}
}
Однако, когда я запускаю команду, я получаю эту ошибку:
Could not find file 'C:\Users\Philip\somefile.txt'
Я не выполняю этот командлет из C:\Users\Philip
. По какой-то причине мой командлет не обнаруживает рабочий каталог, поэтому локальные файлы, подобные этому, не работают. В C # каков рекомендуемый способ определения правильного пути к файлу, когда указан локальный путь к файлу ". \"?