Подскажите с метасимволами

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
User avatar
HaRT
Moderator
Posts: 9936
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 141 times
Been thanked: 280 times

Post by HaRT »

Latest post of the previous page:

Skirda
Согласен

kondrik
Есть ещё отличная команда help
kondrik
Posts: 128
Joined: Tue 29 Mar, 2005 13:30
Location: Ukraine, Kyiv

Post by kondrik »

HaRT
Ну не нужно прям чайником меня считать. Знаю и пользуюсь help.
Есть у меня некоторые пробелы по написанию батников и API по макросам.

Учиться ведь никогда не поздно...

И большое спасибо откликнувшимся за помощь.
Talker
Posts: 41
Joined: Thu 20 Oct, 2011 12:04
Has thanked: 5 times

Метасимвол - имя текущей папки - есть ли?

Post by Talker »

Привет!
Подскажите, есть ли в ФАРе метасимвол означающий имя текущей папки? Т.е. если стоим в каталоге C:\WINDOWS\ , то чтобы метасимвол содержал в себе слово "WINDOWS".
Для чего мне это - нужно написать CMD-скрипт архивирующий текущий каталог в указанное место, причем имя файла должно содержать имя каталога и дату архивации.
Скрипт-то несложный :

Code: Select all

rem ********************************************************************
rem    первый параметр - полный путь к архивируемой папке
rem    второй параметр - имя архивируемой папки
rem    третий параметр - полный путь к папке, гду будет лежать архив
rem       если третий параметр не указан, то используется значение первого параметра
rem ********************************************************************

if "%1"=="" goto errp
if "%2"=="" goto errp
if "%3"=="" goto setp3
set PAR3=%3
goto cmd

:setp3
set PAR3=%1

:cmd
RAR a -dh -ep1 -r -rr -y -m3 -ap%2 -wc:\temp -agYYYYMMDD %PAR3%\%2_ %1
goto end

:errp
echo Не указаны параметры

:end
Загвоздка как раз в том как передать в скрипт второй параметр - имя текущей папки.
В помощи ничего такого не нашел..
tstr
Posts: 552
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 13 times
Been thanked: 9 times

Re: Метасимвол - имя текущей папки - есть ли?

Post by tstr »

а вообще нужен метасимвол?
в батнике можно определить имя текущей директории, наприм. так:

Code: Select all

for %%i in (%CD%) do set PAR2=%%~ni
echo %PAR2%
2useven10
Posts: 4407
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 7 times
Been thanked: 227 times

Re: Метасимвол - имя текущей папки - есть ли?

Post by 2useven10 »

можно и без фара обойтись

Code: Select all

@echo off
  call :dirname "%CD%"
goto :EOF

:dirname
  echo %~n1
goto :EOF
Yegor
Posts: 1147
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 20 times
Been thanked: 31 times

Re: Метасимвол - имя текущей папки - есть ли?

Post by Yegor »

А почему не заюзать всякие спецсимволы типа "!", "!.!" и т.д.? Только вызывать по CtrlG или из меню.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Talker
Posts: 41
Joined: Thu 20 Oct, 2011 12:04
Has thanked: 5 times

Re: Метасимвол - имя текущей папки - есть ли?

Post by Talker »

2useven10 wrote:можно и без фара обойтись

Code: Select all

@echo off
  call :dirname "%CD%"
goto :EOF

:dirname
  echo %~n1
goto :EOF
Пардон, а что это за конструкция - "%~n1" ?
User avatar
John Doe
Бюрократ
Posts: 13387
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 54 times
Been thanked: 350 times

Re: Метасимвол - имя текущей папки - есть ли?

Post by John Doe »

Talker wrote:Пардон, а что это за конструкция - "%~n1" ?

Code: Select all

call/?
Talker
Posts: 41
Joined: Thu 20 Oct, 2011 12:04
Has thanked: 5 times

Re: Метасимвол - имя текущей папки - есть ли?

Post by Talker »

Спасибо за помощь!
NikVi
Posts: 1
Joined: Tue 18 Apr, 2017 12:47

Метасимволы для файлов и папок НЕ активной панели

Post by NikVi »

Уважаемые форумчане!
Раньше, в предыдущих версиях FARa, был полезные метасимволы, которые могли ссылаться на файл(-ы) или папку(-и) на неактивной панели.
Например, для того чтобы через меню запустить команду сравнения файлов (один файл на активной панели и один файлов на не активной панели) в меню можно было создать такую команду:

Code: Select all

FC.exe /B !\!.! $\$.$
где $\ - это полный путь на НЕ активной панели, а $.$ - длинное имя файла на НЕ активной панели.
Теперь этого полезного метасимвола, который может ссылаться на файл/папку не активной панели нет.
В текущей версии Help я не нашёл какой метасимвол может ссылаться на неактивную панель.
Может кто-то знает, как вернуть полезный функционал?
2useven10
Posts: 4407
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 7 times
Been thanked: 227 times

Метасимволы для файлов и папок НЕ активной панели

Post by 2useven10 »

F1 F7 метасимволы
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Метасимволы для файлов и папок НЕ активной панели

Post by Skirda »

NikVi wrote:Раньше, в предыдущих версиях FARa, был полезные метасимволы...
Версию подскажи.
We are the Borg. You will be assimilated.
So Say We All!
NatBampo
Posts: 9
Joined: Tue 22 Dec, 2020 07:28
Has thanked: 1 time

Работа с меню по F2

Post by NatBampo »

Добрый день,
Хочу разобраться есть ли возможность выделять файлы и по нажатию F2 отдавать список в макрос? Например условный архиватор
arch a file.zip a1.txt a2.txt a3 txt
По нажатию F2 мне показано меню "Запаковать файлы"
а внутри
arch a {CurDirName}{DateTime} {Selected}
В итоге сработает команда где имя архива возьмётся из частей имени текущей папки и даты, а список файлов для запаковки будет получен от активной панели Far с выделениями.
По F1 в Far ничего похожего найти не смог.
buniak_a_h
Posts: 3205
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 169 times
Been thanked: 468 times
Contact:

Работа с меню по F2

Post by buniak_a_h »

Дл выполнения некой одной и той же команды для помеченных файлов есть Ctrl+G.
buniak_a_h
Posts: 3205
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 169 times
Been thanked: 468 times
Contact:

Работа с меню по F2

Post by buniak_a_h »

Кроме того имеются метасимволы (в МЕНЮ нажмите F1 и сразу Enter). Там есть !& Список помеченных файлов
NatBampo
Posts: 9
Joined: Tue 22 Dec, 2020 07:28
Has thanked: 1 time

Работа с меню по F2

Post by NatBampo »

buniak_a_h wrote: Tue 22 Dec, 2020 09:44 в МЕНЮ нажмите F1 и сразу Enter
А я F1 давил уже в окне создания и поэтому пропустил такую опцию. Спасибо.
Post Reply

Return to “Нужна помощь”