![]() |
Неизвестное количество параметров в аргументах задачи Планировщика задач.
Доброго времени суток.
Windows 2012 R2, Powershell v4. Скрипт ps1 помещен в задачу Планировщика задач, некоторые переменные задаются как аргументы. Но есть необходимость задать таким образом несколько переменных, при чем они будут участвовать в условии, однако, я не знаю точного их количества, например в скрипте это выглядело бы так: Код:
$a = "E:\1" Существует ли возможность без изменения скрипта задавать в аргументах задачи разное количество параметров (переменных). Подозреваю это должен быть массив, но возможно ли создать условие ($_.Fullname -ne "одному_из_элементов_массива")? И логичный второй вопрос: гугл мне к сожалению не сказал ограничение поля "Аргументы" задачи планировщика, но тестовым путем установил что 1000 символов точно можно ввести, НО эти символы пойдут как команды при запуске программы Powershell, а ограничение интерфейса Start-Run насколько я знаю 259 символов. Не будет ли проблем в случае если количество символов в поле "Аргументы" превысит это значение? |
Решено. Решение здесь.
|
Для того, чтобы избежать ограничений на длину командной строки — придумали файлы инициализации. Т.е., в ini/xml или иного формата файле указываете аргументы, именованные или нет. Путь к файлу передаёте параметром.
В Вашем конкретном случае (то, что по ссылке-решению), когда все аргументы однотипны, можно обойтись и простым текстовым файлом. Путь к нему передаётся аналогично аргументом. Если к куче однотипных параметров прилагается ещё ряд параметров иного типа — путь к файлу указывается именованным аргументом. Ср. передачу имён машин в «psexec.exe» — перечислением или списком из файла. |
Время: 20:55. |
Время: 20:55.
© OSzone.net 2001-