Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование выделенного файла и после определенных действий перемещение обратно

Ответить
Настройки темы
CMD/BAT - Копирование выделенного файла и после определенных действий перемещение обратно

Старожил


Сообщения: 232
Благодарности: 21

Профиль | Отправить PM | Цитировать


Изменения
Автор: Uragan66
Дата: 06-01-2016
Всем доброго времени суток !

Нужна помощь, если моя задача вообще решаема.
Нужно добавить в пакетный батник команды (или может как-то по другому). Сама задача: в любой папке на компьютере выделить файл ( в моем примере с расширением fb2, название может быть любым), запустить батник( батник будет лежать в папке в корне С) . Батник должен скопировать выделенный файл к себе в папку, произвести с ним определенные манипуляции и переместить этот файл обратно в папку из которой он был взят.

Если поконкретней, хочу в малюсеньком файлменеджере JustManager добавить кнопку на запуск батника, в одном окне выделил файл и нажал кнопку батника, а дальше как я выше описал.

Если это возможно, подскажите, пожалуйста, как это реализовать. Буду очень благодарен за помощь.

Отправлено: 16:27, 06-01-2016

 

Ветеран


Сообщения: 1759
Благодарности: 966

Профиль | Цитировать


Uragan66, Для этого в самом файловом менеджере должны быть предусмотрены такие возможности (как например в FAR). Это вопрос слишком узкий, наверное лучше спросить у разработчиков или на форуме JustManager.

Отправлено: 17:07, 06-01-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 232
Благодарности: 21

Профиль | Отправить PM | Цитировать


Foreigner, да в самом файлменеджере ничего менять то не нужно, его настройки позволяют добавить кнопку запуска любой программы (а сделать батник exe файлом невелика проблема). Да и нужный файл в папку к батнику можно руками перетащить, а вот как его потом через батник вернуть в исходную папку.

Или нужно хотя бы создать папку возле батника и в нее перемещать файлы по очереди. Просто в папке с батником может находиться только один исходный файл FB2. После манипуляций с ним он на выходе получается out.fb2. Потом нужно его переместить в какую-то другую папку. Как в батнике прописать чтобы эти файлы при перемещении переименовывались как out1, out2 и т.д. ?

Отправлено: 18:30, 06-01-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Uragan66, Вы не поймёте. Вот это позволяет Far Manager:
Скрытый текст
Код: Выделить весь код
╔══════════════════════════════════════════════════════════════════════════════════════════════════ Помощь - FAR ═══════════════════════════════════════════════════════════════════════════════════════════════════╗
║ Метасимволы                                                                                                                                                                                                       ║
╟───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║    В ассоциированных командах, пользовательском меню и команде "Применить команду" могут использоваться специальные метасимволы:                                                                                  ▲
║                                                                                                                                                                                                                   ▓
║    !!       символ '!'                                                                                                                                                                                            ▓
║    !        Длинное имя файла без расширения                                                                                                                                                                      ▓
║    !~       Короткое имя файла без расширения                                                                                                                                                                     ▓
║    !`       Длинное расширение файла без имени (ext)                                                                                                                                                              ▓
║    !`~      Короткое расширение файла без имени (ext)                                                                                                                                                             ▓
║    !.!      Длинное имя файла с расширением                                                                                                                                                                       ▓
║    !-!      Короткое имя файла с расширением                                                                                                                                                                      ▓
║    !+!      Аналогично !-!, но если длинное имя файла утеряно                                                                                                                                                     ▓
║             после выполнения команды, Far восстановит его                                                                                                                                                         ▓
║    !@!      Имя файла, содержащего имена помеченных файлов                                                                                                                                                        ▓
║    !$!      Имя файла, содержащего короткие имена помеченных файлов                                                                                                                                               ▓
║    !&       Список помеченных файлов                                                                                                                                                                              ▓
║    !&~      Список помеченных файлов с короткими именами                                                                                                                                                          ▓
║    !:       Текущий диск в формате "C:"                                                                                                                                                                           ▓
║             Для сетевых каталогов - "\\server\share"                                                                                                                                                              ▓
║    !\       Текущий путь                                                                                                                                                                                          ▓
║    !/       Короткое имя текущего пути                                                                                                                                                                            ▓
║    !=\      Текущий путь с учётом символических ссылок.                                                                                                                                                           ▓
║    !=/      Короткое имя текущего пути с учётом символических ссылок.                                                                                                                                             ▓
║                                                                                                                                                                                                                   ░
║    !?<title>?<init>!                                                                                                                                                                                              ░
║             При выполнении команды этот символ заменяется                                                                                                                                                         ░
║             данными, введёнными пользователем. <title> и                                                                                                                                                          ░
║             <init> - заголовок и исходный текст строки                                                                                                                                                            ░
║             редактирования.                                                                                                                                                                                       ░
║                                                                                                                                                                                                                   ░
║             Допускается использование нескольких таких символов                                                                                                                                                   ░
║             в одной строке, например:                                                                                                                                                                             ░
║                                                                                                                                                                                                                   ░
║             grep !?Search for:?! !?In:?*.*!|c:\far\Far.exe -v -                                                                                                                                                   ░
║                                                                                                                                                                                                                   ░
║             В <title> можно указать имя истории для строки <init>.                                                                                                                                                ░
║             В этом случае команда имеет следующий формат:                                                                                                                                                         ░
║                                                                                                                                                                                                                   ░
║             !?$<history>$<title>?<init>!                                                                                                                                                                          ░
║                                                                                                                                                                                                                   ░
║             например:                                                                                                                                                                                             ░
║                                                                                                                                                                                                                   ░
║             grep !?$GrepHist$Search for:?! !?In:?*.*!|Far.exe -v -                                                                                                                                                ░
║                                                                                                                                                                                                                   ░
║             Для отключения истории оставьте имя пустым.                                                                                                                                                           ░
║                                                                                                                                                                                                                   ░
║             В <title> и <init> допускается использование прочих                                                                                                                                                   ░
║             метасимволов, заключив их в круглые операторные скобки,                                                                                                                                               ▼
║             например:                                                                                                                                                                                             ▲
║                                                                                                                                                                                                                   ░
║             grep !?В (!.!) найти:?! |Far.exe -v -                                                                                                                                                                 ░
║                                                                                                                                                                                                                   ░
║    !#       Префикс "!#", указанный перед символом ассоциации                                                                                                                                                     ░
║             файла, заставляет его (и все последующие) ссылаться                                                                                                                                                   ░
║             на пассивную панель (см. примечание 4).                                                                                                                                                               ░
║             Например, !#!.! обозначает имя текущего файла на                                                                                                                                                      ░
║             пассивной панели.                                                                                                                                                                                     ░
║                                                                                                                                                                                                                   ░
║    !^       Префикс "!^", указанный перед символом ассоциации                                                                                                                                                     ░
║             файла, заставляет его (и все последующие) ссылаться                                                                                                                                                   ░
║             на активную панель (см. примечание 4).                                                                                                                                                                ░
║             Например, !^!.! обозначает имя текущего файла на                                                                                                                                                      ░
║             активной панели, а конструкция !#!\!^!.! - файл на                                                                                                                                                    ░
║             пассивной панели с таким же именем, как имя текущего                                                                                                                                                  ░
║             файла на активной панели.                                                                                                                                                                             ░
║                                                                                                                                                                                                                   ░
║  Примечания:                                                                                                                                                                                                      ░
║                                                                                                                                                                                                                   ░
║    1. Far при обработке метасимволов подставляется только то, что они означают (имя файла, расширение и т.д.). Никаких дополнительных символов (например, кавычек или фамилий разработчиков Far) не подставляется ░
║       и вы должны это сделать сами, если потребуется. Например, если используемая в ассоциациях программа требует, чтобы имя файла было в кавычках, то вы должны писать program.exe "!.!", а не program.exe !.!.  ▓
║                                                                                                                                                                                                                   ▓
║    2. Для ассоциаций !@! и !$! допускаются следующие модификаторы:                                                                                                                                                ▓
║                                                                                                                                                                                                                   ▓
║    'Q' - заключать имена с пробелами в кавычки;                                                                                                                                                                   ▓
║    'S' - использовать '/' вместо '\' в путях файлов;                                                                                                                                                              ▓
║    'F' - использовать полный путь;                                                                                                                                                                                ▓
║    'A' - использовать кодовую страницу ANSI;                                                                                                                                                                      ▓
║    'U' - использовать кодовую страницу UTF-8;                                                                                                                                                                     ▓
║    'W' - использовать кодовую страницу UTF-16 (Little endian).                                                                                                                                                    ▓
║                                                                                                                                                                                                                   ▓
║    Например, ассоциация !@AFQ! - имя файла, содержащего имена помеченных файлов с полным путём в кодовой странице ANSI; имена файлов, содержащие пробелы будут заключены в кавычки.                               ▓
║                                                                                                                                                                                                                   ▓
║    3. Метасимволы !@! и !$! в меню выбора (когда задано несколько ассоциаций) показываются как есть, преобразование происходит в момент исполнения команды.                                                       ▓
║                                                                                                                                                                                                                   ▓
║    4. Префиксы "!#" и "!^" работают как переключатели для ассоциаций. Действие этих префиксов распространяется до следующего подобного префикса. Например:                                                        ▓
║                                                                                                                                                                                                                   ▓
║    if exist !#!\!^!.! diff -c -p !#!\!^!.! !\!.!                                                                                                                                                                  ▓
║                                                                                                                                                                                                                   ▓
║    "Если на пассивной панели существует такой же файл, как и на                                                                                                                                                   ▓
║    активной под курсором, то показать расхождения между файлом                                                                                                                                                    ░
║    на пассивной панели и файлом на активной панели, независимо                                                                                                                                                    ░
║    от имени текущего файла на пассивной панели"                                                                                                                                                                   ░
║                                                                                                                                                                                                                   ░
║    5. Если нужно передать программе имя с завершающей обратной чертой, используйте кавычки - "!"\.                                                                                                                ▼
║    Например, распаковать rar-архив в папку с таким же именем:                                                                                                                                                     ▓
║                                                                                                                                                                                                                   ▓
║    winrar x "!.!" "!"\                                                                                                                                                                                            ▓╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝

Т.е., мы вписываем в UserMenu Far Manager'а путь к пакетному файлу, добавляем обрамлённые кавычками метасимволы "!\!.!", указывающие на текущий файл. Всё!

Всё остальное зависит от не приведённого Вами содержимого пакетного файла.

Update: Вам, для JustManager'а, надо будет добавить в меню пользовательскую команду, указав в «Command» Ваш пакетный файл, а в «Parameters» макрос «%FULL%».
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:22, 07-01-2016 | #4


Старожил


Сообщения: 232
Благодарности: 21

Профиль | Отправить PM | Цитировать


Iska, Спасибо, вроде все получается.

Можно было бы использовать и Far, классный файл менеджер, но слишком громоздкий для моей задачи.

Отправлено: 13:58, 07-01-2016 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование выделенного файла и после определенных действий перемещение обратно

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Перемещение или копирование строк vickt Скриптовые языки администрирования Windows 0 26-11-2015 15:03
CMD/BAT - [решено] Копирование определенных файлов LAKERS824 Скриптовые языки администрирования Windows 5 30-05-2014 08:35
CMD/BAT - Поиск и копирование определенных файлов из папок timbird Скриптовые языки администрирования Windows 13 22-02-2014 21:25
[решено] Перехват F4 в проводнике Windows для открытия выделенного файла в заданном редакторе Vadikan AutoIt 7 14-08-2011 23:14
VBS/WSH/JS - [решено] Открытие выделенного файла в заданном приложении Vadikan Скриптовые языки администрирования Windows 2 04-12-2010 18:23




 
Переход