На основе ответа vtrz и ответ Самуэля Ренкерта по другой теме я придумал следующий скрипт, который запускает только %EXEC_CMD%
, если он еще не запущен :
@echo off
set EXEC_CMD="rsync.exe"
wmic process where (name=%EXEC_CMD%) get commandline | findstr /i %EXEC_CMD%> NUL
if errorlevel 1 (
%EXEC_CMD% ...
) else (
@echo not starting %EXEC_CMD%: already running.
)
Как уже было сказано, для этого требуются административные привилегии.
Попытка HashSet:
HashSet (Of  T) класс обеспечивает высокоэффективные операции присвоения. Набор является набором, который не содержит дублирующихся элементов, и чьи элементы без определенного порядка...
способность HashSet (Of  T) объект является числом элементов, которое может содержать объект. HashSet (Of  T) способность объекта автоматически увеличивается, поскольку элементы добавляются к объекту.
HashSet (Of  T) класс основан на модели математических наборов и обеспечивает высокоэффективные операции присвоения, подобные доступу к ключам Словарь (Of  TKey,   TValue) или Хеш-таблица наборы. Проще говоря, HashSet (Of  T) класс может считаться Словарь (Of  TKey,   TValue) набор без значений.
А HashSet (Of  T) набор не отсортирован и не может содержать дублирующиеся элементы...
При использовании.NET 3.5 можно использовать HashSet<T>
. Это верно, что.NET не обслуживает наборы, а также Java делает все же.
Wintellect PowerCollections может помочь также.
Я использую Iesi. Наборы http://www.codeproject.com/KB/recipes/sets.aspx
Это используется в партии проектов OSS, я сначала столкнулся с ним в NHibernate
Взгляните на PowerCollections в CodePlex. Кроме Набора и OrderedSet это имеет несколько других полезных типов набора, таких как Двухсторонняя очередь, MultiDictionary, Сумка, OrderedBag, OrderedDictionary и OrderedMultiDictionary.
Для большего количества наборов, существует также Библиотека Универсального набора C5 .
Вы могли реализовать свою собственную осуществимую реализацию набора через несколько часов. Я использовал это, когда я должен был сделать это (извините, у меня нет кода удобным): http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html
Я использую оболочку вокруг Dictionary
, сохраняя в значениях нули. Это дает O (1) добавление, поиск и удаление ключей, и во всех смыслах и целях действует как набор.