Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Кнопка для создания каталога...
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
relaxx



Joined: 29 Oct 2007
Posts: 11

Post (Separately) Posted: Tue Jul 19, 2011 16:44    Post subject: Кнопка для создания каталога... Reply with quote

Товарищи, нужна кнопка или команда для создания каталога, где первые две цифры будут дата, а следующие две порядковый номер.Как пример:
1901
1902
1903
и т.д.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Jul 19, 2011 20:11    Post subject: Reply with quote

Code:
@echo off &setlocal enableextensions &set /a cnt=1
rem Создание каталога: первые две цифры дата, следующие две порядковый номер
rem Если дата в формате DD.MM.YY
for /f "tokens=1 delims=-/." %%d in ("%date%") do set "d=0%%d"
:loop
set /a cnt+=1 &set "n=0%cnt%"
if "%cnt%"=="101" (title Over 100 :^( &pause >nul &exit)
set "new=%d:~-2%%n:~-2%" &md "%new%" 2>nul &&(
"%commander_path%\totalcmd.exe" /O /S /L="%cd%\%new%" &exit) ||goto :loop

Сохрани как текст с расш. .CMD
повесь на кнопку/команду
или помести в папку, перечисленную в %Path% и запускай из ком.строки


Last edited by Tol!k on Wed Jul 20, 2011 17:55; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jul 20, 2011 00:15    Post subject: Reply with quote

relaxx wrote:
Как пример:
1901
Какой-то странный пример. Это год или порядковый номер? Или число + порядковый номер? Или порядковый номер без даты?
Back to top
View user's profile Send private message
relaxx



Joined: 29 Oct 2007
Posts: 11

Post (Separately) Posted: Wed Jul 20, 2011 11:19    Post subject: Reply with quote

Первые две цифры это текущая дата, а две другие порядковый номер.

Добавлено спустя 8 минут:

Когда это файл запускаю, всё работает БольшоЕ СПАСИБО за труды,но никак не получается назначить горячие клавиши(.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10266
Location: Россия, Саратов

Post (Separately) Posted: Wed Jul 20, 2011 11:35    Post subject: Reply with quote

relaxx
Дело, бузусловно, хозяйское, но такой стиль нумерации, ИМХО, визуально плохо воспинимается (хоть бы какой-то разделитель между двумя блоками цифр был!). А выход за пределы текущего месяца в данной группе каталогов считается невозможным?
Насчёт клавиш — для вызова батника создать пользовательскую (em_) команду, а уже для неё назначить клавиши. Описано в справке и много раз говорилось на форуме, поэтому здесь обсуждение подробностей неуместно.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
relaxx



Joined: 29 Oct 2007
Posts: 11

Post (Separately) Posted: Wed Jul 20, 2011 11:47    Post subject: Reply with quote

Всё получилось, но только вот непонятно, папки создаются в директории Total Commanderа, а не там где я желаю(

Добавлено спустя 10 минут:

Разобрался), а как бы сделать так чтоб созданная папка открывалась?9

Добавлено спустя 1 час 14 минут:

Парни, подскажите пожалуйста, как сделать так чтоб созданная папка открывалась....
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10266
Location: Россия, Саратов

Post (Separately) Posted: Wed Jul 20, 2011 14:34    Post subject: Reply with quote

relaxx
Спокойно дождаться ответа невозможно? Будет ещё один такой дубль — закрою тему с замечанием.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Wed Jul 20, 2011 15:33    Post subject: Reply with quote

relaxx, батник небось положил в папку тотала и перетянул на панель инструментов? Очисти поле рабочей папки в кнопке.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
relaxx



Joined: 29 Oct 2007
Posts: 11

Post (Separately) Posted: Wed Jul 20, 2011 16:58    Post subject: Reply with quote

Нет, я на него назначил клавиши)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jul 20, 2011 16:59    Post subject: Reply with quote

relaxx
Значит, в em_команде "Путь запуска" не очистил.
Back to top
View user's profile Send private message
relaxx



Joined: 29 Oct 2007
Posts: 11

Post (Separately) Posted: Wed Jul 20, 2011 17:06    Post subject: Reply with quote

Да было такое дело, потом сам додумался очистил и всё заработало как положено), но мне надо ещё чтоб созданная папка сразу сама открывалась.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Jul 20, 2011 17:56    Post subject: Reply with quote

обновил
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jul 21, 2011 00:42    Post subject: Reply with quote

Для разнообразия (путь запуска также очистить):
Code:
' Создание папки с именем "<текущий день месяца><порядковый №>" и переход в нее в TC
'===============================================================
Dim WSH
Set WSH = WScript.CreateObject("WScript.Shell")
With CreateObject("Scripting.FileSystemObject")
  Set FF = .GetFolder(WSH.CurrentDirectory)
  If Day(date) > 9 Then
    D = Day(date)
  Else
    D = "0" & Day(date)
  End If
  If .FolderExists(FF & "\" & D & "01") Then
     For Each F in FF.SubFolders
       N = F.Name
       If IsNumeric(N) And Left(N,2) = Trim(D) And Len(N) > 3 Then
         If  Mid(N,3,1) = 0 And Len(N) > 4 Then
           If .FolderExists(FF&"\"&Left(N,4)) Then A = Mid(N,3,2)
         ElseIf Len(N) = 4 Then A = Mid(N,3)
         Else
           B = Mid(N,3)
           A = Abs(Mid(N,3))
         End If
         If Max < A Then Max = A
         If Mx < B Then Mx = B
       End If
     Next
     If Max >= 09 Then
       If Mx < 100 Then
         Folder = FF & "\" & Trim(D) & Abs(Max)+1
       Else
         Folder = FF & "\" & Trim(D) & Abs(Mx)+1
       End If
     Else
       Folder = FF & "\" & Trim(D) & Left(Max,1) & Abs(Mid(Max,2))+1
     End If
  Else
     Folder = FF & "\" & Trim(D) & "01"
  End If 
  .CreateFolder(Folder)
End With
WSH.Exec"%COMMANDER_PATH%\totalcmd.exe /o /s /l=""" & Folder & """"
Set WSH = Nothing
WScript.Quit
В данном случае приращение будет отталкиваться от максимального порядкового номера вместо латания пробелов. ИМХО, это полезней, т.к. после манипуляций с папками (удаление, перемещение) сохраняется логическая последовательность.

Last edited by Flasher on Fri Jul 22, 2011 02:14; edited 3 times in total
Back to top
View user's profile Send private message
relaxx



Joined: 29 Oct 2007
Posts: 11

Post (Separately) Posted: Thu Jul 21, 2011 12:30    Post subject: Reply with quote

Всем спасибо, Tol!k ваши труды меня удовлетворили)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jul 21, 2011 13:40    Post subject: Reply with quote

relaxx
Консольные окна предпочтительней? Wink
Exclamation Кстати, в моём случае нет ограниния до 100 номеров.

Add: Маленькую правку сделал.


Last edited by Flasher on Thu Jul 21, 2011 16:11; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group