Хобрук: Ваш путь к мастерству в программировании

Блокировка файлов SSIS и Powershell

Я использую SSIS и Powershell, чтобы проверить, заблокирован ли файл или нет.

У меня есть приведенное ниже выражение в переменной с именем «Cmd»:

"-NoProfile -ExecutionPolicy ByPass -Command \"try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}"

Что оценивает это:

-NoProfile -ExecutionPolicy ByPass -Command "try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();0 } catch {999}

Используя задачу «Выполнение процесса», я затем вызываю переменную Cmd, указанную выше, и после нее у меня есть ограничения «Успех» и «Отказ». Процесс всегда сообщает об успехе, даже если я открываю соответствующий файл, переименовываю или даже удаляю его.

Если я затем изменю приведенное ниже, задача всегда будет терпеть неудачу, даже если она не открыта:

"-NoProfile -ExecutionPolicy ByPass -Command \"try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();exit 0} catch {exit 999}"

Что мне не хватает?

21.11.2018

  • Не уверен в PowerShell, но это мой ответ для проверки состояния файла 21.11.2018
  • Версию функции Powershell для проверки блокировки файлов можно найти здесь 21.11.2018
  • Здравствуйте, спасибо за ссылку. Однако задача SSIS Process принимает только целое число как значение Success\Fail - я думаю, что это проблема, но я не уверен, как изменить сценарий. 21.11.2018

Ответы:


1

Если это кому-то поможет, я нашел решение. Вместо того, чтобы вызывать сценарий PS с помощью выражения, я просто вызвал фактический файл PS с помощью Process Task со следующим в файле PS:

$file = "\\xxxx\xxxxx\xxxxxxxx\test.log"
try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
22.11.2018
Новые материалы

React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

Ториго  — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..

Раскрытие возможностей НЛП: часть речевой маркировки и ее проблемы
В сфере обработки естественного языка (NLP) маркировка частей речи (POS) выступает в качестве фундаментального метода, позволяющего компьютерам понимать и анализировать человеческий язык на..

Под поверхностью: раскрытие деталей системы с помощью инструментов Linux CLI
Чем больше вы изучаете Linux и продвигаетесь вперед, тем больше вам нужно проверять информацию о вашей системе. Эта информация может касаться аппаратного обеспечения, такого как процессор,..