«- one» передается как целая строка, поскольку преобразование происходит перед вызовом метода.
Вы можете альтернативно назвать это следующим образом
powershell -Command {.\test.ps1 -one "hello","cat","Dog"}
Другие процессы должны указать FileShare.Delete
когда они открываются DeleteOnClose
файл
Из документов MSDN CreateFile:
"
FILE_FLAG_DELETE_ON_CLOSE
... Последующие открытые запросы на сбой файла, еслиFILE_SHARE_DELETE
режим доли указан."
Проверьте это:
Необходимо удостовериться, что все процессы открывают файл с FileShare. ReadWrite и FileShare. Удалить.
Даже если создатель открывается чтением-записью доли, если вторая программа пытается открыться считанным из доли, во второй программе в основном говорится, что никто еще не может записать. Но первая программа уже имеет ту силу так вторые открытые сбои.
Переключитесь на Linux scnr
Хорошо, серьезно теперь: Это - дефект в операционной системе Windows, которая не может действительно работаться вокруг. Каждая программа, открывающая файл, должна договориться о других программах, имеющих файл, открытый в то же время. Это было проблемой, я вернул много лет, когда я все еще использовал Windows также. Это не достаточно, чтобы открыть файл и сказать: Позвольте кому-либо еще открыть это также. Другие должны также сказать открытый этот файл, даже если это уже открыто.
На Linux наоборот, операционная система не позволяет захвата файла в способе, которым Windows делает вообще. Здесь, если какой-либо файл используется больше чем одной программой одновременно, программы самой должны удостовериться, что заблокированы параллельные доступы. Кроме того, на Linux, мы можем просто создать файл, удостоверьтесь, что другой процесс был запущен и открыл файл, и затем просто удалите файл (в то время как это открыто). Имя файла затем сразу удалено из файловой системы, но файл все еще сохраняется драйвером файловой системы, пока последняя ссылка (включая открытые дескрипторы файлов) не была удалена.
Назад к Вашей проблеме: Поскольку весь этот doen't работает над Windows, Вы могли сделать два других подхода:
С уважением, Бодо