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

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
kondrik
Posts: 128
Joined: Tue 29 Mar, 2005 13:30
Location: Ukraine, Kyiv

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

Post by kondrik » Mon 06 Feb, 2006 18:43

Подскажите как с помощью метасимволов задать текущий год, месяц и число.
Например нужно создать файл с именем используя вышеперечисленные метасимволы.

User avatar
HaRT
Moderator
Posts: 8719
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 81 times
Been thanked: 147 times

Post by HaRT » Mon 06 Feb, 2006 19:06


kondrik
Posts: 128
Joined: Tue 29 Mar, 2005 13:30
Location: Ukraine, Kyiv

Post by kondrik » Mon 06 Feb, 2006 19:46

Что-то у меня не выходит.
Подскажите как в командную строку вставить текущее время с помощью метасимволов?
Или как использовать данные метасимволы в пользовательском меню?

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Post by Skirda » Mon 06 Feb, 2006 19:49

kondrik, может стоит посмотреть в сторону "echo %time%"?

А так: macro:post $date "%T"

kondrik
Posts: 128
Joined: Tue 29 Mar, 2005 13:30
Location: Ukraine, Kyiv

Post by kondrik » Mon 06 Feb, 2006 19:57

Skirda wrote:kondrik, может стоит посмотреть в сторону "echo %time%"?

А так: macro:post $date "%T"
Спасиб за оперативность.

Code: Select all

echo %time%
не подойдет, так, как нужно в формате выводить дату.
А

Code: Select all

macro:post $date "%T"
в принципе то что нужно.
А теперь как можно использовать эту дату?
Например нужно создать каталог:
md <имя_текущаядата>

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Post by Skirda » Mon 06 Feb, 2006 20:11

Дарю :-)

Code: Select all

REGEDIT4

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\ShiftF7]
"Sequence"="%dt=date(\"%Y%m0%d\"); $If (fexist(%dt)) panel.SetPos(0,%dt) $Else F7 $Text %dt Enter $End"
"DisableOutput"=dword:00000001
"Description"="Создать каталог с именем текущей даты или спозиционировать туда курсор, если такой уже есть"

User avatar
CrOm
Posts: 1421
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time
Contact:

Post by CrOm » Mon 06 Feb, 2006 21:00

и от меня спасибо :) классный макрось
FARdroid, qPlayEx, Opera Cache Browser, Mr.Ripper

wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Post by wolf » Tue 07 Feb, 2006 07:13

ещё на тему создания чего-то с датой:

REGEDIT4
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Dialog\CtrlD]
"Sequence"="$date \"%Y-%m0-%d\""
"Description"="Date for F5/F6/F7, format ~2005-08-30"

макра CtrlD для подставления даты в строку стандартных диалогов.
а у ж копировать, делать каталог или файл - как юзеру понадобилось, в том диалоге и вызвал...
просто, зато однообразно и удобно.
ошибка — считать, что фар для пользователей. (с) zg

kondrik
Posts: 128
Joined: Tue 29 Mar, 2005 13:30
Location: Ukraine, Kyiv

Post by kondrik » Tue 07 Feb, 2006 09:00

Skirda
HaRT
Спасисибо. Через реестр тоже подойдет.
Но моя задача через меню пользователя проверить если нет директории, то создать ее в формате "dir_2006_02_07" (используется текущая дата).
Это можно сделать?
Где можно найти инструкцию по написанию макросов, использованию макросимволов (желательно в виде файла).

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Post by Skirda » Tue 07 Feb, 2006 12:19

kondrik, ну и ленивый ты, блин....

Учи матчасть:

Code: Select all

for /f "tokens=2-4 delims=/. " %a in ('DATE /T') do if not exist dir_%c_%b_%a mkdir dir_%c_%b_%a

kondrik
Posts: 128
Joined: Tue 29 Mar, 2005 13:30
Location: Ukraine, Kyiv

Post by kondrik » Tue 07 Feb, 2006 12:21

Skirda
Вот теперь то что ожидалось. Большущее спасибо.
Подскажите - где можно найти соответствующие доки.
Было бы - сам разобрался.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Post by Skirda » Tue 07 Feb, 2006 12:30

edit:<for /?
edit:<if /?
edit:<set /?

По батникам "пара" ссылок:
http://www.robvanderwoude.com/index.html
http://www.ericphelps.com/batch/
http://www.computerhope.com/batch.htm


Вот это будет полезным:

Code: Select all

@echo off
echo argument                %%1      =[%1]
echo fully qualified name    [%%~f1]  =[%~f1]
echo drive                   [%%~d1]  =[%~d1]
echo path                    [%%~p1]  =[%~p1]
echo drive and directory     [%%~dp1] =[%~dp1]
echo file name               [%%~n1]  =[%~n1]
echo file extension          [%%~x1]  =[%~x1]
echo file name and extension [%%~nx1] =[%~nx1]
echo short file name         [%%~sn1] =[%~sn1]
echo short file extension    [%%~sx1] =[%~sx1]
echo short file name and ext [%%~snx1]=[%~snx1]

echo file name and extension [%%~nx0] =[%~nx0]
echo %0
и вот:

Code: Select all

::Дотянуть недостающие файлы
::Есть два каталога: oldpacks - для старых файлов, 
::  packages - хранилище файлов. 
::Есть список файлов в файле filelist.txt.
setlocal ENABLEEXTENSIONS

move /y packages\*.* oldpacks\
cd packages
for /f %%f in (..\filelist.txt) do (
    if not exist ..\oldpacks\%%f (
        wget -c "http://citkit.dl.sourceforge.net/sourceforge/gnuwin32/%%f"
    ) else (
        move /y ..\oldpacks\%%f .
    )
)
cd ..
Last edited by Skirda on Tue 07 Feb, 2006 12:36, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 8719
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 81 times
Been thanked: 147 times

Post by HaRT » Tue 07 Feb, 2006 12:35

kondrik
for /?
date /?
if /?
mkdir /?

Skirda
Вообще-то формат вывода date зависит от Региональных настроек...

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Post by Skirda » Tue 07 Feb, 2006 12:38

HaRT, а разве кто спорит?
Парень хотел идею - он ее получил (совладает или нет с информацией - не моя забота :-))

User avatar
HaRT
Moderator
Posts: 8719
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 81 times
Been thanked: 147 times

Post by HaRT » Tue 07 Feb, 2006 12:39

Skirda
Согласен

kondrik
Есть ещё отличная команда help

kondrik
Posts: 128
Joined: Tue 29 Mar, 2005 13:30
Location: Ukraine, Kyiv

Post by kondrik » Tue 07 Feb, 2006 12:42

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

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

И большое спасибо откликнувшимся за помощь.

Post Reply

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