2015-01-16 7 views
1

У меня есть 2 сценария powershell, один обрабатывает xmfiles с низким уровнем, другой читает в файле верхнего уровня xml, извлекает из него значения идентификатора и затем пытается вызвать скрипт обработки XML-файла низкого уровня, ID. Сначала я разработал файл низкого уровня, используя жесткий код, и теперь все работает отлично. Я добавил param ($ ID) в самый верх названного файла. Затем я попытался вызвать файл из родительского XML-скрипт таким образом:Сценарий вызова powershell от другого

./ChildXmlFile.ps1 «хуг»

Это дает мне ошибку:

./ChildXmlFile.ps1 не признается в качестве имя командлета, функции, файла сценария или операционной программы.

Я пробовал косую черту, косую черту, с и без «.ps1» на конце, одинаковый результат каждый раз.

Есть ли способ вызова сценария из родителя? Они оба находятся в одном каталоге на диске. Мой рабочий каталог, если хотите.

Большое спасибо

ответ

1

Вы можете усеивают источник сценарий вроде этого:

. .\ChildXmlFile.ps1 "xyz" 
+0

Этот вид работ, но я должен был указать полный путь к файлу подстрочного сценария, на который ссылался Майк Уайз, но я действительно не знал, что он предлагал сделать. Спасибо всем – Keith

+0

Думаю, что я вас поместил :) –

0

Powershell сценарии не наследуют каталоги своих родителей, когда их называют по какой-то причине - не сомневайтесь в безопасности " особенность". Они начинаются в домашнем каталоге пользователя. Я столкнулся с этим пару недель назад и исправил его, передав директорию в качестве аргумента и выполнив «cd» в этом каталоге. Я знаю, что это ужасный взлом, все еще ищущий хороший способ сделать это.

Смежные вопросы