Страница 20 из 46

Добавлено: Пт май 22, 2009 14:05
GGS
Batya писал(а):Создаем vbs-скрипт
Тема не по скриптам, а по кнопкам к TC (и, желательно, без плагинов) :wink:

В качестве %ComSpec% может быть Command.com (получим облом).
Уж лучше задать явно.

Добавлено: Пт май 22, 2009 15:35
Batya
GGS писал(а):Тема не по скриптам, а по кнопкам к TC (и, желательно, без плагинов)
Плагины здесь совершенно не при чем.
А если ты читал тему, то должен был обратить внимание, что здесь приведено достаточно много vbs-скриптов.
Скрипты по принципу использования ничем не отличаются от батников.

Добавлено: Пт май 22, 2009 16:31
GGS
Batya писал(а):А если ты читал тему, то должен был обратить внимание, что здесь приведено достаточно много vbs-скриптов.
Скрипты по принципу использования ничем не отличаются от батников.
Вот именно. Получается обсуждение скриптов и батников, а не, собственно, кодов кнопок.
Я не против этого, но хотелось сделать код (скрипт) в одну строчку, чтобы получилась самодостаточная кнопка, а не сыылка на стороннюю "примочку".

P.S. vbs-скрипты и .cmd безусловно нужны и решают задачи, порою, гораздо эффективнее, но это уже другой подход.

Добавлено: Вс май 24, 2009 03:45
_D_V_S_
Народ, а как сделать чтобы ваш скрипт на создание каталога не только его создавал, но и открывал-бы сразу? Удобнейшая кнопка на самом деле :) Ещё-бы новыйй каталог открытым бы на свет божий появлялся ))))

Добавлено: Вс май 24, 2009 22:50
LocKtaR-o-DarK
_D_V_S_
а указать чем?
открывать можно тоталом или проводником
да и зачем это надо?
неужели так трудно нажать на папку?

Добавлено: Пн май 25, 2009 06:11
_D_V_S_
LocKtaR-o-DarK писал(а):_D_V_S_
а указать чем?
открывать можно тоталом или проводником
да и зачем это надо?
неужели так трудно нажать на папку?
Так и создать новый каталог можно руками от начала до конца. Хоть старым добрым МэйкДиром (MD). И глазами посмотреть имя его, и при совпадении - руками-же переименовать. Однако, кнопка эта сильно облегчает :)
А открытым его (мне) желательно наблюдать - потому что можно нажав на одну (!) кнопку, в соседней панели попадать в пустую папку. Конечно можно и нажать на ЕНТЕР , предварительно перейдя в эту панель и установив курсор на новом каталоге :) Не трудно совсем. Только долго это.

PS Если трудно сделать - к чему столько эмоций? :) Извините за просьбу...

Добавлено: Пн май 25, 2009 10:51
Batya
_D_V_S_ писал(а):Народ, а как сделать чтобы ваш скрипт ...
Вообще-то, не понятно, почему обращение к народу, у скрипта есть конкретный автор 8)
Если речь о последнем приведенном здесь скрипте, то вот то, что ты хочешь:

Код: Выделить всё

Option Explicit
Dim FSO, WSH, NewName
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
NewName = NextName(WScript.Arguments(0))
FSO.CreateFolder(NewName)
WSH.Run """%Commander_Path%\Totalcmd.exe"" /O /S /L=""" & NewName & """" , 7, True
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit

Function NextName(pName)
  Dim lCurrentFolder, lPath, k
  lCurrentFolder = WSH.CurrentDirectory & ""
  lPath = lCurrentFolder & pName
  If Not FSO.FolderExists(lPath) Then
    NextName = lPath
    Exit Function
  End If
  k = 1
  Do
    lPath = lCurrentFolder & pName & " " & k
    k = k + 1
  Loop While FSO.FolderExists(lPath)
  NextName = lPath
End Function

Добавлено: Пн май 25, 2009 11:08
Scorpkoms
Доброго времени!
Подскажите пожалуйста,почему безопасное извлечение устройств
не работает на внешнем жестком диске,что нужно изменить?
Спасибо.

Добавлено: Пн май 25, 2009 13:21
LocKtaR-o-DarK
_D_V_S_, дело не в эмоциях, просто интересно было узнать применение
ну раз надо, значит надо

Код: Выделить всё

TOTALCMD#BAR#DATA
cmd
/c if /i not exist "Каталог" (md "Каталог"&totalcmd /o /s /l="%PКаталог"&exit) else for /l %%a in (2,1,999) do if /i not exist "Каталог%%a" (md "Каталог%%a"&totalcmd /o /s /l="%PКаталог%%a"&exit)
totalcmd.exe,1
Создание папки

1 
если в %path% отсутствует %commander_path%

Код: Выделить всё

TOTALCMD#BAR#DATA
cmd
/c if /i not exist "Каталог" (md "Каталог"&%%commander_path%%\totalcmd /o /s /l="%PКаталог"&exit) else for /l %%a in (2,1,999) do if /i not exist "Каталог%%a" (md "Каталог%%a"&%%commander_path%%\totalcmd /o /s /l="%PКаталог%%a"&exit)
totalcmd.exe,1
Создание папки

1
Scorpkoms, в первом посте темы написано ее предназначение
там же указано, где можно пофлеймить

Добавлено: Пн май 25, 2009 17:04
_D_V_S_
Batya писал(а):Если речь о последнем приведенном здесь скрипте, то вот то, что ты хочешь:
...... код ......
Спасибище! :) Это именно то, что было нужно! Работает как надо.
LocKtaR-o-DarK писал(а):_D_V_S_, дело не в эмоциях, просто интересно было узнать применение
ну раз надо, значит надо
...... код ......
:) Спасибо! Но - приведённая кнопка работает только если в активной панели открыт каталог с Тоталом (может надо в системе прописать какие переменные окружения?) - создаёт каталог, открывает его, и если дальше её запускать - в нем уже создаются каталоги без открытия (потому что дальнейшие создаются уже в открытом новом каталоге, т.е. не в Тоталовском) И работает интересно - (если открыт и активен каталог Тотала) создаёт новый каталог и открывает его всегда в левой панели. Немного сумбурно описание получилось :) ...Так было и задумано?

Добавлено: Пн май 25, 2009 17:30
Batya
_D_V_S_ писал(а):Но - приведённая кнопка работает только если в активной панели открыт каталог с Тоталом
Нужно в кнопке
LocKtaR-o-DarK писал(а):totalcmd/o "%PКаталог"
заменить на

Код: Выделить всё

"%%Commander_Path%%\Totalcmd.exe" /O /S /L="%PКаталог"
и
LocKtaR-o-DarK писал(а):totalcmd/o "%PКаталог%%a"
заменить на

Код: Выделить всё

"%%Commander_Path%%\Totalcmd.exe" /O /S /L="%PКаталог%%a"

Добавлено: Пн май 25, 2009 18:56
LocKtaR-o-DarK
_D_V_S_
да, попробуй как рекомендует Batya
это обеспечит полную портативность кнопки
поправил код

или добавь в %path% %commander_path%
у меня это давно сделано, поэтому уже как само собой разумеющееся использую

Batya
/S /L=
для чего нужны эти ключи применительно к конктретной задаче?

Добавлено: Пн май 25, 2009 23:29
Batya
LocKtaR-o-DarK писал(а):/S /L=
для чего нужны эти ключи применительно к конктретной задаче?
Дык, почитай хэлп.

Добавлено: Вт май 26, 2009 01:12
_D_V_S_
Batya писал(а): Нужно в кнопке
......
Всё заработало! :) Спасибо!

PS А вопрос можно? :) А зачем писать скрипт на WSH, когда гораздо компактнее получается всё вместе в виде кнопки? Чтобы не только из-под Тотала работало?

Добавлено: Вт май 26, 2009 09:30
Batya
_D_V_S_
Писать скрипт или сценарий иногда гораздо выгоднее, чем все просто прописать в кнопке. Например, в твоем случае, если использовать скрипт, то очень просто менять имя создаваемого каталога, изменив параметр вызова скрипта, а не править кнопку в 6-ти местах с риском ошибиться, удалив лишний символ.
К тому же в скрипте\сценарии код написан в несколько строк в виде некой структуры, что облегчает чтение и редактирование кода.
Явное отличие скрипта от сценария - при использовании скрипта не вызывается консоль, и скрипт выполняет действие без лишних окон.
_D_V_S_ писал(а):Чтобы не только из-под Тотала работало?
Да, дейтсвительно, скрипты\сценарии можно вызывать откуда угодно. Главное - правильно передать параметры.