View previous topic :: View next topic |
Author |
Message |
relaxx
Joined: 29 Oct 2007 Posts: 11
|
(Separately) Posted: Tue Jul 19, 2011 16:44 Post subject: Кнопка для создания каталога... |
|
|
Товарищи, нужна кнопка или команда для создания каталога, где первые две цифры будут дата, а следующие две порядковый номер.Как пример:
1901
1902
1903
и т.д. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Jul 19, 2011 20:11 Post subject: |
|
|
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 |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jul 20, 2011 00:15 Post subject: |
|
|
relaxx wrote: | Как пример:
1901 | Какой-то странный пример. Это год или порядковый номер? Или число + порядковый номер? Или порядковый номер без даты? |
|
Back to top |
|
|
relaxx
Joined: 29 Oct 2007 Posts: 11
|
(Separately) Posted: Wed Jul 20, 2011 11:19 Post subject: |
|
|
Первые две цифры это текущая дата, а две другие порядковый номер.
Добавлено спустя 8 минут:
Когда это файл запускаю, всё работает БольшоЕ СПАСИБО за труды,но никак не получается назначить горячие клавиши(. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10266 Location: Россия, Саратов
|
(Separately) Posted: Wed Jul 20, 2011 11:35 Post subject: |
|
|
relaxx
Дело, бузусловно, хозяйское, но такой стиль нумерации, ИМХО, визуально плохо воспинимается (хоть бы какой-то разделитель между двумя блоками цифр был!). А выход за пределы текущего месяца в данной группе каталогов считается невозможным?
Насчёт клавиш — для вызова батника создать пользовательскую (em_) команду, а уже для неё назначить клавиши. Описано в справке и много раз говорилось на форуме, поэтому здесь обсуждение подробностей неуместно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
relaxx
Joined: 29 Oct 2007 Posts: 11
|
(Separately) Posted: Wed Jul 20, 2011 11:47 Post subject: |
|
|
Всё получилось, но только вот непонятно, папки создаются в директории Total Commanderа, а не там где я желаю(
Добавлено спустя 10 минут:
Разобрался), а как бы сделать так чтоб созданная папка открывалась?9
Добавлено спустя 1 час 14 минут:
Парни, подскажите пожалуйста, как сделать так чтоб созданная папка открывалась.... |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10266 Location: Россия, Саратов
|
(Separately) Posted: Wed Jul 20, 2011 14:34 Post subject: |
|
|
relaxx
Спокойно дождаться ответа невозможно? Будет ещё один такой дубль — закрою тему с замечанием. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
relaxx
Joined: 29 Oct 2007 Posts: 11
|
(Separately) Posted: Wed Jul 20, 2011 16:58 Post subject: |
|
|
Нет, я на него назначил клавиши) |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jul 20, 2011 16:59 Post subject: |
|
|
relaxx
Значит, в em_команде "Путь запуска" не очистил. |
|
Back to top |
|
|
relaxx
Joined: 29 Oct 2007 Posts: 11
|
(Separately) Posted: Wed Jul 20, 2011 17:06 Post subject: |
|
|
Да было такое дело, потом сам додумался очистил и всё заработало как положено), но мне надо ещё чтоб созданная папка сразу сама открывалась. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Jul 20, 2011 17:56 Post subject: |
|
|
обновил |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jul 21, 2011 00:42 Post subject: |
|
|
Для разнообразия (путь запуска также очистить):
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 |
|
|
relaxx
Joined: 29 Oct 2007 Posts: 11
|
(Separately) Posted: Thu Jul 21, 2011 12:30 Post subject: |
|
|
Всем спасибо, Tol!k ваши труды меня удовлетворили) |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jul 21, 2011 13:40 Post subject: |
|
|
relaxx
Консольные окна предпочтительней?
Кстати, в моём случае нет ограниния до 100 номеров.
Add: Маленькую правку сделал.
Last edited by Flasher on Thu Jul 21, 2011 16:11; edited 1 time in total |
|
Back to top |
|
|
|