Что нового

Перемещение файлов с применением политик доступа

SANILA

Новичок
Сообщения
13
Репутация
2
Имеется сетевая папка видео, при перемещении в нее фильмов средствами AutoIt в Windows 7 (насколько я знаю в XP с этим проблем нет)
не применяются политики доступа конечной папки к перемещенным файлам, т.е. новые файлы по сети либо не видны либо не открываются. Даже обновление доступа к папке не во всех случаях срабатывает.

Проверял - перемещением через командную строку доступ к файлу тоже не обновляется.
Помогает только копирование/удаление, но хотелось бы более эстетичный метод переноса.
Итак, может кто знает способы решения проблемы?

Думаю поискать в двух направлениях, это либо AutoIt'ом юзая какие нибудь системные dll'ки перемещать файлы вызывая стандартный диалог копирования, либо через командную строку - может там есть функции применения политики доступа папки к файлу...
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
SANILA
перемещение действует именно как перемещение только в пределах одного логического диска. во всех других случаях - это именно копирование и удаление. поэтому смело применяй то, что работает
 
Автор
S

SANILA

Новичок
Сообщения
13
Репутация
2
перемещение действует именно как перемещение только в пределах одного логического диска. во всех других случаях - это именно копирование и удаление. поэтому смело применяй то, что работает
дык енто то я понимаю, просто чаще переношу в пределах одного диска...
неужели других способов нету?
 

amel27

Продвинутый
Сообщения
146
Репутация
55
SANILA сказал(а):
неужели других способов нету?
попробуйте в ветке рестра "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" создать параметр (DWORD) с именем MoveSecurityAttributes и значением 0
 
Автор
S

SANILA

Новичок
Сообщения
13
Репутация
2
amel27
не помогло...
еще кто нибудь? :laugh:
 

amel27

Продвинутый
Сообщения
146
Репутация
55
SANILA сказал(а):
это параметр для перемещения через Explorer, для других программ по идее должны быть свои настройки, либо как вариант - восстанавливать наследование прав после каждого перемещения
 
Автор
S

SANILA

Новичок
Сообщения
13
Репутация
2
Видимо проблема не решаема средствами Автоит, друг написал маленький ехе-шник на C#, который при запуске с ключем адаптирует файл под политики текущей папки. Отпишусь, если найду другой более удобный способ...
 
Автор
S

SANILA

Новичок
Сообщения
13
Репутация
2
Проблема решилась благодаря функции от Yashied - спасибо за мысль :smile:
http://autoit-script.ru/index.php?topic=329.0

только изменил в ней строку
Код:
$oShell.NameSpace($sFileTo).CopyHere($sFileFrom, $FOF_RESPOND_YES)

на
Код:
$oShell.NameSpace($sFileTo).MoveHere($sFileFrom, $FOF_RESPOND_YES)

и все заработало.

Тема закрыта.
 
Верх