2012-06-04 2 views
0

Я хочу передать каталог или хэш-объект в качестве аргумента командной строки в vbscript. Я выполняю VBscript в приложении C# с помощью метода Process.Start(). Используя Process.StartInfo.Arguments, мы можем передать аргументы сценарию, но это берет только строковый ввод. Кто-нибудь знает, как передавать данные, кроме строки?Можем ли мы передать каталог или хэш-объект в качестве аргумента командной строки для VBscript?

+1

Как Process.StartInfo.Arguments принимает только строку в качестве входных данных, ясно, что вы не сможет передавать ничего, кроме строки. Вероятно, вы должны изменить свою функцию vbscript так, чтобы она принимала строку в качестве параметра (пары, разделенные пробелами в пространстве). Просто идея !!!. – Tariqulazam

+0

@Tim SChmelter: На самом деле я хочу выполнить разные типы файлов сценариев (например: VB, ps1 и т. Д.), И я не знаю заранее, какой тип файла сценария мне нужно выполнить. когда предоставляется только путь к файлу, он может быть запущен методом Process.Start. Мне нужно передать объект hashtable для всего этого файла скрипта, который выполняется. Я просто хочу подтвердить, возможно ли это по крайней мере в случае .vbs – sailer

ответ

0

Vbscript не имеет хэшей, единственное, что приближается к объектам словаря, но это не то же самое. Поскольку вы не знаете, какие скрипты вы хотите выполнить, вы должны утверждать наименее распространенный деминератор и тип строки. Поэтому пусть все ваши скрипты передают аргументы в строке вашей функции C и в этой функции анализируют аргументы в правильном типе, чтобы использовать их в Process.Start

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