обработка файлов

Обсуждение программ nnCron и nnCron LITE

обработка файлов

Postby murlavik » Mon, 24 Mar 2014, 19:59

Здравствуйте! Работаю с nncron недавно, незнаю как сделать такую задачу: пользователь вводить в диалог имя файла (например 1111) ищем файл на диске с:\ (и во вложенных папках тоже), если находим то спрашиваем пользователя "переместить файл 1111.doc?", если польхователь подтверждает то перемещаем в заданную папку, если нет - выход.
murlavik
 
Posts: 3
Joined: Mon, 24 Mar 2014, 19:57

Re: обработка файлов

Postby elos » Tue, 25 Mar 2014, 13:10

Если уж и имя файла и подтверждение руками вводится - нужен просто другой инструмент, а не nncron.
Если точно знаешь что ищешь и куда надо переместить - nnbackup в руки. Конфиг написал и правь по необходимости. Время только на каждый поиск будет уходить.

Ищи тогда просто FAR-ом - там хороший плагин есть, и даже из командной строки фара работает. А уж в панели результатов поиска дальше думай...
Regular Expression Search and Replace, version 8.01
by Kostromitinov Pavel, pavel@kostrom.spb.ru

Для совсем быстрого, просто моментального, поиска файлов с дальнейшим ручным отбором пользуйся Everything. Но это больше на "мышелюбов" рассчитано.
Хотя у них есть и консольная версия. Перенаправляй вывод в файл, его подсовывай nnbackup-у...
Хочется сделать через nncron - используй WIN-INPUT-TEXT: с дальнейшей передачей введённого имени утилите поиска, и далее nnbackup на отработку.
elos
 
Posts: 664
Joined: Tue, 25 Apr 2006, 11:15

Re: обработка файлов

Postby Morituruz » Tue, 25 Mar 2014, 14:27

elos 1 +
но если хочется в nncron, то как-то так (нужно добавить этот скрипт в nncron.tab):
Code: Select all
#( i_like_to_move_it_move_it
NoActive   \ не активна, добавляем вариант запуска из хелпа на выбор, или запускаем из меню иконки nncron
SingleInstance   \ чтобы не запускались копии, на всякий случай
CREATE destination_folder 256 ALLOT   \ переменная для папки по умолчанию
CREATE source_folder 256 ALLOT   \ переменная для папки, где ищем
CREATE filename_to_move 256 ALLOT   \ переменная для хранения имени файла, который ищем
Action:
\ #### настроечки ####
\ папки, где ищем и куда перемещаем (со слешем на конце):
S" b:\temp\" source_folder PLACE
S" b:\gotcha\" destination_folder PLACE
\ ###################
WIN-INPUT-TEXT: "i like to move it move it" "Какой файл ищем?" "1111.doc" 0 0=
IF   \ на стеке лежит имя файла, которое пользователь ввёл
   filename_to_move PLACE   \ сохраняем имя файла
   RECURSIVE FILESONLY      \ ищем во вложенных каталогах только файлы
   FOR-FILES: "%source_folder COUNT%*"
      FOUND-FILENAME filename_to_move COUNT ICOMPARE 0=      \ сравниваем название файла с искомым без учёта регистра
      IF
         QUERY: "Перемещаем файл %FOUND-FILENAME%?"      \ спрашиваем пользователя
         IF
            FILE-MOVE: "%FOUND-FULLPATH%" "%destination_folder COUNT%"   \ перемещаем файл
         THEN
      THEN
   ;FOR-FILES
   TMSG: "Поиск окончен" 10
THEN
)#
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: обработка файлов

Postby murlavik » Wed, 26 Mar 2014, 18:16

:D все работает, спасибо. я только не учел что в папках могут быть файлы с одинаковыми именами, скрипт берет первый попавшийся файл с этим именем и перемещает в целевую папку.
а в целевой если файл с таким именем есть то перезаписывает его...
murlavik
 
Posts: 3
Joined: Mon, 24 Mar 2014, 19:57

Re: обработка файлов

Postby Morituruz » Wed, 26 Mar 2014, 18:21

Никто не запрещает вам переделать скрипт под свои конкретные нужды :)
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: обработка файлов

Postby murlavik » Wed, 26 Mar 2014, 19:16

немного переделал для себя, а как соединить имя файла (чтобы пользователь задавал без расширения) и расширtние файла (.doc)
я так понимаю надо до поиска прописать конкатенцию строк (имя файла + расширение) а как незнаю, посмотрел помощь не помогло...
murlavik
 
Posts: 3
Joined: Mon, 24 Mar 2014, 19:57

Re: обработка файлов

Postby VoidVolker » Wed, 26 Mar 2014, 21:25

Code: Select all
S" .doc" S+
filename_to_move PLACE   \ сохраняем имя файла
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: обработка файлов

Postby spronkin » Wed, 10 Sep 2014, 17:00

оффтоп: не удержался За Everything большое спасибо! Сравню с Cathy и Yandex Desktop. Меня всегда интересовало, почему подобные программы не умеют индексировать и сохранять у себя в базе UNC-пути, метку тома и имя тома VolumeName (\\?\Volume{GUID}\), а не абсолютные пути к файлам. Пользователю было легче ориентироваться и искать у себя диски. Интересно, умеет ли эта программа что-либо подобное...
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: обработка файлов

Postby VoidVolker » Wed, 10 Sep 2014, 18:43

Ммм... Что? Теоретически ннкрон умеет все что угодно. Какова задача-то?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: обработка файлов

Postby spronkin » Wed, 10 Sep 2014, 20:24

Это я про Everything. Задача-то непростая - поиск и индексация файлов, но с полными UNC-путями на всех, в том числе портативных, носителях и выводом результатов поиска через WEB-запрос к HTTP-серверу. А вот как ее решить и какими средствами - вот тема, достойная размышлений.
User avatar
spronkin
 
Posts: 86
Joined: Sun, 15 Jan 2012, 13:56

Re: обработка файлов

Postby VoidVolker » Wed, 10 Sep 2014, 21:28

Ничего принципиально сложного. Можно даже в рамках ннкрона сделать.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests