Я использую 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 и после нее накладываю ограничения Success и Failure.Процесс всегда сообщает об успешном выполнении, даже если я открываю файл, о котором идет речь, переименовываю или даже удаляю его.
Если я затем внесу поправку в нижеследующее, задание всегда будет неуспешным, даже если оно не открыто:
"-NoProfile -ExecutionPolicy ByPass -Command \"try { [IO.File]::OpenWrite(‘” + @[User::TestFilePath] + “‘).close();exit 0} catch {exit 999}"
Чего мне не хватает?