Обмен кнопками
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Кнопка для создания SFX-архива
Подскажите как создать кнопку для создания SFX-архива (7zip)?
Исходные данные:
1 В папке, открытой на одной из панелей TC, находятся файлы: конфигурации (например, config.txt), 7z-архив (например, archive.7z) и SFX-модуль (например, 7zSD.sfx).
2 Выделяем два файла config.txt и archive.7z на панели и нажимает кнопку (которая и нужна), а лучше перетаскиваем на нее эти файлы (если это не слишком усложнит задачу).
3 Выполняется "преобразование" известной командой - "copy /b 7zSD.sfx + config.txt + archive.7z archive.exe" и создается SFX-архив archive.exe в этой же папке.
4 Файлы конфигурации и 7z-архива всегда разные (выделяются пользователем).
5 Имя SFX-архива всегда формируется из имени 7z архива заменой расширения с .7z на .exe, и, если такой файл в этой папке уже существует, то новый переписывает старый.
6 Файл SFX-модуля может не лежать в этой же папке, но имеет постоянное место на диске и путь к нему можно прописать руками.
Буду рад любой помощи т.к. сам в "скриптописательстве" ноль.
Исходные данные:
1 В папке, открытой на одной из панелей TC, находятся файлы: конфигурации (например, config.txt), 7z-архив (например, archive.7z) и SFX-модуль (например, 7zSD.sfx).
2 Выделяем два файла config.txt и archive.7z на панели и нажимает кнопку (которая и нужна), а лучше перетаскиваем на нее эти файлы (если это не слишком усложнит задачу).
3 Выполняется "преобразование" известной командой - "copy /b 7zSD.sfx + config.txt + archive.7z archive.exe" и создается SFX-архив archive.exe в этой же папке.
4 Файлы конфигурации и 7z-архива всегда разные (выделяются пользователем).
5 Имя SFX-архива всегда формируется из имени 7z архива заменой расширения с .7z на .exe, и, если такой файл в этой папке уже существует, то новый переписывает старый.
6 Файл SFX-модуля может не лежать в этой же папке, но имеет постоянное место на диске и путь к нему можно прописать руками.
Буду рад любой помощи т.к. сам в "скриптописательстве" ноль.
- DeathStalker
- Сообщения: 331
- Зарегистрирован: Пт сен 01, 2006 10:53
- Откуда: Санкт-Петербург
Maximus
LocKtaR-o-DarK писал(а):Код: Выделить всё
TOTALCMD#BAR#DATA rundll32 powrprof.dll,SetSuspendState shell32.dll,211 Спящий режим
-
Billy_Bons
- Сообщения: 5
- Зарегистрирован: Пт мар 03, 2006 21:46
Кнопки для выключения, перезагрузки компьютера и выхода из системы с диалогом подтверждения действия (используется утилита NirCmd 1.85):
Вместо %COMMANDER_PATH%\tools\nircmd\ необходимо, разумеется, указать свой путь до nircmd.exe
Код: Выделить всё
TOTALCMD#BAR#DATA
nircmd qboxcom "Выключить компьютер?" "Завершение работы" exitwin poweroff
shell32.dll,215
Выключить компьютер
%COMMANDER_PATH%\tools\nircmd\
-1
Код: Выделить всё
TOTALCMD#BAR#DATA
nircmd qboxcom "Перезагрузить компьютер?" "Завершение работы" exitwin reboot
shell32.dll,217
Перезагрузить компьютер
%COMMANDER_PATH%\tools\nircmd\
-1
Код: Выделить всё
TOTALCMD#BAR#DATA
nircmd qboxcom "Выйти из системы?" "Завершение работы" exitwin logoff
shell32.dll,211
Выход из системы
%COMMANDER_PATH%\tools\nircmd\
-1
- DeathStalker
- Сообщения: 331
- Зарегистрирован: Пт сен 01, 2006 10:53
- Откуда: Санкт-Петербург
- LocKtaR-o-DarK
- Сообщения: 349
- Зарегистрирован: Пт авг 12, 2005 04:20
- Откуда: Москва
- Контактная информация:
Компиляция скрипта INNO
гуем
комстрокой
гуем
Код: Выделить всё
TOTALCMD#BAR#DATA
"путь\до\Inno Setup\Compil32"
/cc %N
путь\до\Inno Setup\ISCmplr.dll
Компиляция скрипта INNOКод: Выделить всё
TOTALCMD#BAR#DATA
"путь\до\Inno Setup\ISCC"
%N
путь\до\Inno Setup\ISCmplr.dll
Компиляция скрипта INNO
1
-1- DeathStalker
- Сообщения: 331
- Зарегистрирован: Пт сен 01, 2006 10:53
- Откуда: Санкт-Петербург
Maximus
Поизучал вчера мат. часть и придумал как можно компьютер погружать в спящий и ждущий режимы. Надо создать для спящего режима батник с таким содержимым:
А для ждущего с таким:
Поизучал вчера мат. часть и придумал как можно компьютер погружать в спящий и ждущий режимы. Надо создать для спящего режима батник с таким содержимым:
Код: Выделить всё
powercfg /h on
rundll32 powrprof.dll,SetSuspendStateКод: Выделить всё
powercfg /h off
rundll32 powrprof.dll,SetSuspendState- DeathStalker
- Сообщения: 331
- Зарегистрирован: Пт сен 01, 2006 10:53
- Откуда: Санкт-Петербург
Zorroz
Могу предложить скрипт (Script Helper), у него есть минус он работает с интерфейсом ТС, принцип действия - открывает диалог Настройка:эскизы и нажимает кнопку Запуск. Скрипт писался под TC7pb1, работоспособность для других версий ТС не проверял.
Могу предложить скрипт (Script Helper), у него есть минус он работает с интерфейсом ТС, принцип действия - открывает диалог Настройка:эскизы и нажимает кнопку Запуск. Скрипт писался под TC7pb1, работоспособность для других версий ТС не проверял.
Код: Выделить всё
Dim TCS, T, i, j
Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_ThumbnailsConfig"
TCS.LockTC True
TCS.SendKeystroke "{TAB 22}"
TCS.SendKeystroke "{ENTER}"
TCS.SendKeystroke "{ENTER}"
TCS.SendKeystroke "{ENTER}"
TCS.LockTC False
Set TCS = Nothing
WScript.QuitГугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
- DeathStalker
- Сообщения: 331
- Зарегистрирован: Пт сен 01, 2006 10:53
- Откуда: Санкт-Петербург
Попробуй этот вариант, TCS.Pause=1000 - время задержки в миллисекундах
Код: Выделить всё
Dim TCS, T, i, j
Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_ThumbnailsConfig"
TCS.LockTC True
TCS.Pause=1000
TCS.SendKeystroke "{TAB 22}"
TCS.Pause=1000
TCS.SendKeystroke "{ENTER}"
TCS.Pause=1000
TCS.SendKeystroke "{ENTER}"
TCS.Pause=1000
TCS.SendKeystroke "{ENTER}"
TCS.LockTC False
Set TCS = Nothing
WScript.QuitГугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
- Zorroz
- Сообщения: 308
- Зарегистрирован: Чт дек 16, 2004 10:40
- Откуда: Россия, Иркутская обл., г. Ангарск
DeathStalker
По первому скрипту. Что то пытается сделать, но потом говорит что не удалось открыть tcthumbs.frl и предлагает с помощью чего открыть его.
Второй скрипт выдает тоже самое.
Но самое странное вот что. Если удалить какие-нибудь рисунки(база эскизов изменилась) то появляются ошибки. Если ничего не удалять, то вроде скрипт выполняется.
По первому скрипту. Что то пытается сделать, но потом говорит что не удалось открыть tcthumbs.frl и предлагает с помощью чего открыть его.
Второй скрипт выдает тоже самое.
Но самое странное вот что. Если удалить какие-нибудь рисунки(база эскизов изменилась) то появляются ошибки. Если ничего не удалять, то вроде скрипт выполняется.
Когда ангелу обрезают крылья, он учится летать на метле...
- DeathStalker
- Сообщения: 331
- Зарегистрирован: Пт сен 01, 2006 10:53
- Откуда: Санкт-Петербург
Zorroz
В данном скрипте устанавливаюся три опции:
1 Удалить эскизы для отсутствующих файлов
2 Удалить эскизы для извлечённых CD-дисков
3 Удалить эскизы для недоступных дисков (напр., сетевых или USB)
и запускается сжатие базы эскизов.
Код для кнопки
Код скрипта
Добавил комментариев чтобы было понятно как скрипт работает. Задав задержку (в коде кнопки цифра после имени скрипта, указывается в миллисекундах) больше можно посмотреть порядок выполнения действий Тотал Коммандером. Скрипт написан для TC7pb1.
Zorroz если возникнут и с ним проблемы, то пиши в личные сообщения.
В данном скрипте устанавливаюся три опции:
1 Удалить эскизы для отсутствующих файлов
2 Удалить эскизы для извлечённых CD-дисков
3 Удалить эскизы для недоступных дисков (напр., сетевых или USB)
и запускается сжатие базы эскизов.
Код для кнопки
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Scripts\Thumb.vbs 100
WScript.exe,3
Сжатие базы эскизов
%COMMANDER_PATH%\Scripts\
-1Код: Выделить всё
Dim TCS, T, i
Set TCS = CreateObject("TCSCRIPT.Helper")
if WScript.Arguments.Count > 0 then
T = WScript.Arguments(0) 'T задержка равна аргументу заданному в качастве параметра
else
WScript.Quit 'Выход если параметр (задержка) не задана
end if
TCS.SendCommand "cm_ThumbnailsConfig" ' Открытие диалога настроек эскизов
For i=1 to 19 ' Цикл с 19 итерациями
TCS.Pause= T ' Задержка
TCS.SendKeystroke "{TAB}" ' Передает активному окну TC нажатие клавиши Tab, как если бы она были нажаты на клавиатуре.
Next
For i=1 to 3 ' Цикл с 3 итерациями
TCS.Pause= T ' Задержка
TCS.SendKeystroke "{ }" ' Передает активному окну TC нажатие клавиши Пробел, как если бы она были нажаты на клавиатуре.
TCS.SendKeystroke "{TAB}" ' Передает активному окну TC нажатие клавиши Tab, как если бы она были нажаты на клавиатуре.
Next
For i=1 to 3 ' Цикл с 3 итерациями
TCS.Pause= T ' Задержка
TCS.SendKeystroke "{ENTER}" ' Передает активному окну TC нажатие клавиши Enter, как если бы она были нажаты на клавиатуре.
Next
Set TCS = Nothing
WScript.QuitZorroz если возникнут и с ним проблемы, то пиши в личные сообщения.
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
