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

Добавлено: Чт фев 25, 2010 11:29
ask-rus
HA3APET жмет всё, что ещё жмецо.
Один из распакованных файлов - это файл *.EXE
Фишка в том, чтобы жать в архив портабл софт. Запуск с панели инструментов скрипта (я думаю, здесь нужен скрипт) вызовет процесс разархивирования и, собственно, запуск программы. Не будет быстро, но можно сэкономить в размере для программ, не так часто используемых.
Я думаю, идея ничё такая... неплохая.

Добавлено: Чт фев 25, 2010 11:44
MVV
HA3APET писал(а):MVV
Fine.exe
В принципе, можно указывать имя файла в параметрах. Создаешь где угодно файл unpexec.cmd (путь к 7z.exe пишешь свой):

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

@echo off
title Extracting...
if -%2==- goto exit
:loop
set UNIQ_FOLDER=~unpacked_%RANDOM%
if exist "%TEMP%\%UNIQ_FOLDER%" goto loop
"C:\Program Files\7-Zip\7z.exe" x -o"%TEMP%\%UNIQ_FOLDER%" %1
cd /d "%TEMP%\%UNIQ_FOLDER%"
"%2"
rd /s /q "%TEMP%\%UNIQ_FOLDER%"
:exit
cls
И кнопку для ТК:

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

Команда: <путь_к_unpexec.cmd>
Параметры: %P%N Fine.exe
В свернутом виде: Да
При этом архив будет распакован в папку с уникальным именем в папке %TEMP% и запущен файл Fine.exe из созданной папки. После завершения работы файла папка будет удалена.
Если ждать завершения команды и удалять файлы не нужно, замени строки:

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

"%2"
rd /s /q "%TEMP%\%UNIQ_FOLDER%"
на строку:

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

start "" "%2"

Добавлено: Чт фев 25, 2010 14:34
HA3APET
MVV
Большущее спасибо, буду пробовать.

Добавлено: Чт фев 25, 2010 15:02
HA3APET
MVV
Попробовал
С случайными папками не получается, но это мне и не нужно
Остановился пока на этом

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

@echo off 
title Extracting... 
if -%2==- goto exit 
:loop 
if exist "%TEMP%\1" goto loop 
"%commander_path%\Soft\SFX Tool\7z.exe" x -o"%TEMP%\1" %1 
cd /d "%TEMP%\1" 
"%2" 
rd /s /q "%TEMP%\1" 
:exit 
cls
Кнопка, как вы и сказали

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

Команда: <путь_к_unpexec.cmd> 
Параметры: %P%N Fine.exe 
В свернутом виде: Да
Всё работает, но естественно только если архив под курсором
А очень хотелось бы, чтобы кнопка срабатывала не зависимо от того где курсор. Имя архива Fine.7z
Думаю, что додумаю самостоятельно, но если не сложно, то не откажусь от помощи. Спасибо.

Добавлено: Чт фев 25, 2010 15:09
MVV
Случайные папки у меня работают вполне нормально, и ничего делать для этого не нужно. Убери тогда у себя строчку

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

if exist "%TEMP%\1" goto loop
иначе твой файл зависнет, если папка "%TEMP%\1" существует.

А если имя архива фиксировано, его можно указать вместо %P%N в параметрах команды. Откуда ж мне знать, что за архив ты хочешь распаковывать и зачем)

Если у тебя всего 1 такой архив, и ты постоянно распаковываешь его, возможно, тебе стоит подумать о создании SFX-архива - для 7-Zip есть модули 7zSD, поддерживающие запуск программы после распаковки.

Добавлено: Чт фев 25, 2010 15:57
HA3APET
MVV
Всё работает, наконец-то я добился чего хотел )
SFX для моей задачи не подайдёт, так как есть один архив.. а в нём несколько файлов которые хотелось бы запускать, одно из решений кнопочки.
Но может быть есть возможность создания архивов с несколькими модулями sfx, а ключ в параметрах запуска определял бы какой из них запускать?
Спасибо, вам за помощь.

Добавлено: Вс фев 28, 2010 20:21
MVV
Вообще, к одному архиву нельзя прикрепить несколько SFX-модулей, но ничто не мешает после извлечения файлов передавать управление некоему селектору, который будет предоставлять выбор, какую из программ запускать. В банальном случае это может быть просто bat-файл, показывающий список пунктов и запускающий тот или иной по соответствующей клавише, в более продвинутом - специально написанная программка с несколькими кнопочками, или даже некая штука, которая будет выбирать программу для запуска исходя из некоторых внешних факторов (например, особые параметры командной строки родительского процесса, коим будет являться SFX-модуль). От SFX совершенно не требуется встроенная возможность выбора запускаемой программы.

Вообще, это несколько выходит за рамки изначально обсуждаемой темы.

Добавлено: Пн мар 01, 2010 22:37
HA3APET
MVV, Спасибо информация полезная.


Люди, подскажите кнопочку.
Создать ярлык на рабочий стол (для всех пользователей)... файла под курсором.
Сделал через nircmdc, но это как то не элегантно.

Добавлено: Пн мар 01, 2010 22:56
Tol!k
HA3APET писал(а):не элегантно
Одной только кнопкой вряд ли получится. Хотя, можно попробовать загнать код JS/VBS-скрипта в кнопку.
Как создать ярлык в Windows с помощю командной строки?

Добавлено: Чт апр 01, 2010 15:39
cluster
Есть ярлык на Рабочую группу в сетевом окружении.
Кидаю его на панель кнопок, а при нажатии открывается окно проводника со списком ПК рабочей группы. А надо, чтобы этот список открывался в панели ТС.
Или второй вопрос: Какую команду указать в свойствах кнопки, чтобы в ТС открылся список ПК рабочей группы?

Добавлено: Чт апр 01, 2010 16:49
ask-rus
cluster писал(а):Есть ярлык на Рабочую группу в сетевом окружении.
Кидаю его на панель кнопок, а при нажатии открывается окно проводника со списком ПК рабочей группы. А надо, чтобы этот список открывался в панели ТС.
Или второй вопрос: Какую команду указать в свойствах кнопки, чтобы в ТС открылся список ПК рабочей группы?
CD <directory> Пepeйти в yкaзaнный кaтaлoг

Добавлено: Чт апр 01, 2010 17:35
cluster
Да это всё не новость. Но какой путь у рабочей группы (н-р, OFFICE)
Win7

Добавлено: Чт апр 01, 2010 19:20
ask-rus
cluster писал(а):Да это всё не новость. Но какой путь у рабочей группы (н-р, OFFICE)
Win7
Командой "Копировать полные имена в буфер" не пробовал?
У меня путь такой \\Microsoft Windows Network\Workgroup\
Могу ошибаться.
win xp

Не могу соорудить кнопку, "Д о б а в и т ь в закладки Winamp" выделенные файлы.
Что мы имеем? - Утилита Clamp с cmd:
Bookmarks management
BOOKMARK <file> Add <file> to bookmarks
BOOKMARK CURRENT Add current track to bookmarks
Это мой стандарт "П л э й" на панели:
%COMMANDER_PATH%\PLUGINS\exe\Hidden Start\hstart.exe /NOCONSOLE "%COMMANDER_PATH%\PLUGINS\exe\CLAmp\CLAmp.exe /PLAYPAUSE"
Что-то мне подсказывает что делать нужно так:
%COMMANDER_PATH%\PLUGINS\exe\Hidden Start\hstart.exe /NOCONSOLE "%COMMANDER_PATH%\PLUGINS\exe\CLAmp\CLAmp.exe /BOOKMARK "%L""
Ну не жесть ли...

Добавился - %L :)

Добавлено: Пт апр 02, 2010 09:31
cluster
Командой "Копировать полные имена в буфер" не пробовал?
У меня путь такой \\Microsoft Windows Network\Workgroup\
Могу ошибаться.
win xp
На XP и у меня работает.. А вот в Win7 так не проходит.

Добавлено: Пт апр 02, 2010 12:52
skole
Скрипт для создания ярлыка на рабочем столе для текущего пользователя

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

' ===============================================
'  Автор:		SkOle
'  Описание:	Создает ярлык на рабочем столе
'  Параметры:	%P%N
' ===============================================

Option Explicit
 
If WScript.Arguments.Count > 0 Then
	Dim WSH, FSO, ShortCut, Desktop
	Set WSH = CreateObject("Wscript.Shell")
	Desktop = WSH.SpecialFolders("Desktop")

	Set FSO = CreateObject("Scripting.FileSystemObject") 
	Set ShortCut = WSH.CreateShortcut(Desktop & "\" & FSO.GetBaseName(WScript.Arguments(0)) & ".lnk")
	
	ShortCut.TargetPath = WScript.Arguments(0)
	ShortCut.Save
	
	Set ShortCut = Nothing
	Set FSO = Nothing
	Set WSH = Nothing
End If

WScript.Quit