Я пытаюсь упростить выполнение некоторых написанных мной сценариев, настроив функцию и псевдоним для их запуска. В настоящее время у меня есть функции, чтобы изменить каталог, в который нужно запускать сценарии, но когда я пытаюсь запустить сам сценарий, я получаю следующую ошибку:
C:\Users\me\Desktop\BoB : The term 'C:\Users\me\Desktop\BoB' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At line:1 char:1
+ C:\Users\me\Desktop\BoB Tools\folderScannerV0.4.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\Users\jteit\Desktop\BoB:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Функция:
function run-scanner { "& 'C:\Users\me\Desktop\BoB Tools\folderScannerV0.4.ps1'" | Invoke-Expression }
Я пробовал несколько вариантов, основанных на других ответах, которые я нашел, но я продолжаю получать ту же ошибку. Я бы предпочел не удалять место на пути, потому что другие сценарии используют его успешно. Запуск скрипта из ISE не доставляет мне проблем.
В идеале мне бы хотелось, чтобы эта функция позволяла мне запускать сценарий для папок, которые мне нужны, без изменения рабочего каталога (каждый сценарий работает с определенным набором файлов, которые находятся в статическом расположении, но некоторые из них используют $ PWD, чтобы получить папки в папке).
Например, в моем файле $ profile у меня есть эта функция: function go-to-temp {cd "C:\Users\me\Desktop\Bob Tools\To be Formatted\Temp"}
, которую я запускаю, прежде чем выполнить вышеуказанный скрипт. Я бы хотел, чтобы они были объединены в одну команду без изменения рабочего каталога (что сделало бы функцию go-to-temp
избыточной.
Что я делаю не так?