MacCentre.ru Форум Форум по компьютерам Mac, Mac OS X и продукции Apple
|
Автор |
Сообщение |
aTrop
Reputation: +77
Зарегистрирован: 01.03.2002 Сообщения: 3152 Откуда: Тольятти
|
Добавлено: Thu Jul 11, 2013 15:07 Скрипт для копирования файлов на сетевой ресурс нужен |
|
|
Добрый день, коллеги!
Собственно, вопрос в продолжение вот этой темы. Поскольку побороть невозможность связать по сети мою рабочую машину под 10.8.4 и комп с РИПом под Win200 так и не удалось, встал вопрос - как все же перекидывать задания с рабочих машин на РИП? Самый простой вариант, что пришел в голову - кидать файлы в папку на файловом сервере, к которой прикручен Folder Action, автоматом перекидывающий добавляемые файлы на РИП (благо файловый сервер под Mac OS 10.4.11, у которой проблем подцепить расшаренную папку с Win 200 нет). Погуглив, нашел вот тут такой вот скрипт (который, кстати, попутно еще и монтирует шару, если она до того была не подцеплена):
property extension_list : {"torrent"}
on adding folder items to this_folder after receiving added_items
repeat with i from 1 to number of items in added_items
set this_item to item i of added_items
set the item_info to the info for this_item
if (the name extension of the item_info is in the extension_list) then
tell application "Finder"
mount volume "afp://username:password@myserver.domain.or.ip.address/sharedvolume"
delay 1
move this_item to folder "Downloads" of disk "sharedvolume"
delete this_item
end tell
end if
end repeat
end adding folder items to
Вроде бы аккурат то, что надо. Правда, проверка на тип расширения файла мне не очень была нужна, ничего лишнего я туда кидать не планировал, поэтому соответствующие строки просто закомментировал, а move поменял на copy. И, после правки путей до сетевых ресурсов, получилось вот такое:
-- property extension_list : {"ps"}
on adding folder items to this_folder after receiving added_items
repeat with i from 1 to number of items in added_items
set this_item to item i of added_items
-- set the item_info to the info for this_item
-- if (the name extension of the item_info is in the extension_list) then
tell application "Finder"
mount volume "smb://md???11:md???11@172.24.96.119/TO PROOF"
delay 1
copy this_item to folder "/" of disk "TO PROOF"
-- delete this_item
end tell
-- end if
end repeat
end adding folder items to
И все бы хорошо, но вот только не работает оно! При закидывании файла в папку, к которой этот скрипт привязан, как Folder Action, он начинает работать (потому как расшаренная папка с РИПа нормально монтируется)… и на этом все… Копирования не происходит! А вот почему - я, увы, понять не могу. Подозреваю, что что-то может быть не так в строке:
copy this_item to folder "/" of disk "TO PROOF"
Но вот что? Я пробовал работу скрипта и в таком варианте, и в исходном, где было:
copy this_item to folder "Downloads" of disk "sharedvolume"
cоздав предварительно папку Downloads на расшаренном ресурсе…
И вот в таком варианте тоже:
copy this_item to disk "TO PROOF"
Бесполезно, не копируются файлы. Пробовал и в совсем уже исходном варианте, с проверкой расширения (поменяв только исходный "torrent" на "ps") - фиг вам!
И добавив (на всякий случай - мало ли) в начало скрипта найденный так же в сети код для проверки - окончилось ли копирование, который выглядит вот так:
on adding folder items to theFolder after receiving theFiles
-- This should make the folder action wait until large files have finished copying to the folder
set fSizes to {0}
repeat
tell application "System Events" to set end of fSizes to size of theFolder
if (item -1 of fSizes) = (item -2 of fSizes) then exit repeat
delay 1
end repeat
-- If you want to do something with each file ...
repeat with aFile in theFiles
-- your code goes here
end repeat
end adding folder items to
Увы, это тоже не помогло, а сам я в скриптописании практически ноль…
Может кто-то натолкнет меня на то, где ж тут "собака порылась" и в какую сторону копать, чтобы таки заставить файлы копироваться.
Заранее благодарен!
P.S. Вариант с созданием FolderAction через Automator не подходит, в 10.4 такого еще не было (в смысле - не было возможности создать в Автоматоре FolderAction workflow). В более поздних системах - можно, в 10.4 - еще нет. Во всяком случае, я такого не нашел. Или плохо искал?
P.P.S. Дабы предупредить возможные вопросы - FolderAction цеплялся к папке непосредственно на одном из дисков на файловом сервере, то есть именно там, где предполагается дальнейшая его работа, а *.ps файл закидывался в ту папку с моей машины. Единственное, что чтоб не бегать постоянно в серверную подредактировать текст скрипта, я цепляюсь серваку через TeamViewer в режиме Full Access, но это-то ИМХО никак не должно влиять на работу скрипта! _________________ Andrew AKA Trop
ICQ 33808885 |
|
Вернуться к началу |
|
zztatarin
Reputation: +34
Зарегистрирован: 04.08.2006 Сообщения: 4260
|
Добавлено: Mon Jul 15, 2013 23:54
|
|
|
aTrop писал(а): | repeat with i from 1 to number of items in added_items | Во первых zztatarin писал(а): | Известная "ошибка???" Finder Scripting, называемая Radar problem 2741967. Суть ее заключается в том, что Finder при возврате одной ссылки на объект возвращает именно ссылку, а не список ссылок из одного элемента. |
aTrop писал(а): | copy this_item to disk "TO PROOF" |
Во вторых, если мне не изменяет память, Finder не знает команды copy, а знает duplicate тра-та-та to TARGET. Конструкцию to disk "TO PROOF" желательно заменить на to "TO PROOF" as alias. _________________ Дайте мне единицу измерения и я смогу измерить ничтожность и бесконечность. А компьютер мне в х... не упёрся. Мне штангенциркуля хватит.
И ещё. Учу пользоваться документацией
Искренне Ваш ﺗﺘﺮ
Последний раз редактировалось: zztatarin (Tue Jul 16, 2013 21:42), всего редактировалось 1 раз |
|
Вернуться к началу |
|
blblTb
Reputation: +99
Зарегистрирован: 30.01.2008 Сообщения: 5588 Откуда: Норильск
|
Добавлено: Tue Jul 16, 2013 07:43
|
|
|
Вас обоих надо сжечь на костре за колдовство.
Если есть файловый сервер – открыть на нём доступ по ftp и использовать простенькую прогу, вроде Cyberduck для автоматической заброски из папки. _________________ Да, это я напустил... |
|
Вернуться к началу |
|
aTrop
Reputation: +77
Зарегистрирован: 01.03.2002 Сообщения: 3152 Откуда: Тольятти
|
Добавлено: Wed Jul 17, 2013 12:31
|
|
|
blblTb писал(а): | Вас обоих надо сжечь на костре за колдовство. |
Не надо никого жечь! И вааще, это не колдовство, а обычное камлание с бубном!
blblTb писал(а): | Если есть файловый сервер – открыть на нём доступ по ftp и использовать простенькую прогу, вроде Cyberduck для автоматической заброски из папки. |
Мне не нужен доступ к ФАЙЛОВОМУ серверу по FTP, он у меня есть и без всяких дополнительных телодвижений - хоть по afp, хоть по smb. И без всяких проблем. Проблема в том, что у меня нет доступа к машине под Вин2000, на которой крутится РИП СТР-системы и на которой расшарена watch folder оного РИПа (не пускает Винда к своей шаре мою машину под 10.8. Маки под 10.4, 10.5 - подсоединяются без вопросов, под 10.8 - фигвам). А мне туда надо файлы кидать (и не только мне, кстати)... _________________ Andrew AKA Trop
ICQ 33808885
Последний раз редактировалось: aTrop (Wed Jul 17, 2013 12:35), всего редактировалось 1 раз |
|
Вернуться к началу |
|
aTrop
Reputation: +77
Зарегистрирован: 01.03.2002 Сообщения: 3152 Откуда: Тольятти
|
Добавлено: Wed Jul 17, 2013 12:33
|
|
|
zztatarin писал(а): | Во вторых, если мне не изменяет память, Finder не знает команды copy, а знает duplicate тра-та-та to TARGET. Конструкцию to disk "TO PROOF" желательно заменить на to "TO PROOF" as alias. |
Спасибо, попробую! Как со срочными работами разгребусь... У нас тут того... выборы намечаются... пусть и городского масштаба, но... Со всеми вытекающими!.. _________________ Andrew AKA Trop
ICQ 33808885 |
|
Вернуться к началу |
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
Powered by phpBB © 2001, 2005 phpBB Group
|