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 Previous  1, 2, 3 ... 36, 37, 38 ... 43, 44, 45  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Секреты и советы printer-friendly view
View previous topic :: View next topic  
Author Message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Jul 05, 2010 12:34    Post subject: Reply with quote

ask-rus wrote:
Аналогия в общем.

Хм...
Вставь для проверки в батник после "if -%1==- pause && cls && goto :EOF":
Code:
@cd
@echo %1
@pause

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Mon Jul 05, 2010 12:40    Post subject: Reply with quote

Code:
@echo off
:loop
if -%1==- pause && cls && goto :EOF
@cd
@echo %1
@pause
"%COMMANDER_PATH%\SOFT\UPX\upx.exe" -9 --lzma %1
shift
goto loop

Quote:
c:\
TC2FS.exe
Для продолжения нажмите любую клавишу . . .

Ну а далее,
Quote:
NotCompressibleException

_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Jul 05, 2010 12:45    Post subject: Reply with quote

А если в кнопке вызова батника указать "Путь запуска":
Code:
%COMMANDER_PATH%\SOFT\UPX\

А в параметрах вместо "%S":
Code:
%P%S

Question
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Mon Jul 05, 2010 13:07    Post subject: Reply with quote

Code:
TOTALCMD#BAR#DATA
cmd /c "%COMMANDER_PATH%\PLUGINS\bat\MultiUPX.bat"
%S
%COMMANDER_PATH%\ICO\UPX_2.ico
UPX
%COMMANDER_PATH%\SOFT\UPX\

-1

Quote:
D:\Total Commander\SOFT\UPX
TCFS2.exe
...
upx: TCFS2.exe: FileNotFoundException: TCFS2.exe


Code:
TOTALCMD#BAR#DATA
cmd /c "%COMMANDER_PATH%\PLUGINS\bat\MultiUPX.bat"
%P%S
%COMMANDER_PATH%\ICO\UPX_2.ico
UPX
%COMMANDER_PATH%\SOFT\UPX\

-1

Quote:
upx: c:\TCFS2.exe: NotCompressibleException

_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Mon Jul 05, 2010 13:11    Post subject: Reply with quote

ask-rus wrote:
NotCompressibleException

Создайте временную папку, поместите в неё UPX.exe и TCFS2.exe
Запустите в этой папке CMD, а затем в консоли: upx -9 --lzma TCFS2.exe

Получаете NotCompressibleException? Вывод - ни TC с его "кнопками", ни *.bat тут ни при чём.


Last edited by GGS on Mon Jul 05, 2010 15:09; edited 1 time in total
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Mon Jul 05, 2010 13:18    Post subject: Reply with quote

ask-rus wrote:
Тут ещё вот в чем странность. Я заметил, что с твоим батником некоторые исполняемые перестали жаться.
Quote:
NotCompressibleException

В то время, как просто переношу исполняемый на кнопку
Code:
TOTALCMD#BAR#DATA
D:\Total Commander\SOFT\UPX\upx.exe
-9 --lzma
D:\Total Commander\TOTALCMD.EXE,3

D:\Total Commander\SOFT\UPX\

-1

и процесс проходит успешно.

Вообще, когда ты тащишь на кнопку, параметров, прописанных в кнопке (т.е., -9 --lzma), программа не получает, только имя перетаскиваемого файла.

Кстати, это в твоих параметрах -9 --lzma и ошибка!
Пишу в консоли:
Code:
upx -9 --lzma f:\TCFS2.exe

Получаю:
Code:
upx: f:\TCFS2.exe: NotCompressibleException

А пишу:
Code:
upx f:\TCFS2.exe

Получаю:
Code:
Packed 1 file.


Так что батник тут не при чем. Very Happy
Видимо, просто UPX не каждый файл может сжимать в LZMA. Или действительно возникает исключение при сжатии, что может говорить об ошибке в коде UPX. Rolling Eyes
Кстати, если сжимать TCFS2.exe без дополнительных опций, то размер TCFS2.exe уменьшается с 8192 до 7168 - сжимать его просто глупо. Very Happy
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Mon Jul 05, 2010 13:25    Post subject: Reply with quote

GGS wrote:
Создайте временную папку, поместите в неё UPX.exe и TCFS2.exe
Запустите в этой папке CMD, а затем в консоли: upx -9 --lzma TCFS2.exe

Поехали.
Quote:
c:\123\run_pause.bat
c:\123\tcfs2.exe
c:\123\upx.exe

Чтобы проследить - run_pause.bat:
Code:
@echo off
%*
echo --------
pause
cls

Code:
cd c:\123\

Code:
c:\123\run_pause.bat upx tcfs2.exe

Упаковался файл.

Без run_pause.bat кмд мигает, файл не пакуется.
С консоли пакуется...

MVV
Всё, дошло.
MVV wrote:
сжимать его просто глупо.

То что было под рукой и жмем собсна Very Happy .
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Jul 05, 2010 13:37    Post subject: Reply with quote

MVV wrote:
Вообще, когда ты тащишь на кнопку, параметров, прописанных в кнопке (т.е., -9 --lzma), программа не получает, только имя перетаскиваемого файла.

О! А я и не был в курсе этого момента. Надо запомнить.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Mon Jul 05, 2010 13:53    Post subject: Reply with quote

Batya wrote:
MVV wrote:
Вообще, когда ты тащишь на кнопку, параметров, прописанных в кнопке (т.е., -9 --lzma), программа не получает, только имя перетаскиваемого файла.

О! А я и не был в курсе этого момента. Надо запомнить.

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



Joined: 21 Jul 2007
Posts: 20

Post (Separately) Posted: Mon Jul 12, 2010 15:07    Post subject: Reply with quote

Давно хотел вот такую кнопку (очень часто нужно дать комментарий к какому-нибудь файлу) "Создание тхт файла с названием выделенного файла и его открытие", - приходилось совершать несколько действий, теперь одно.

Code:

TOTALCMD#BAR#DATA
cmd /c
echo.>>%O.txt&&start notepad.exe /i %P%O.txt
%commander_path%\shell32.dll,1
Создание и открытие тхт файла с названием выделенного файла

1
-1

Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sun Jul 18, 2010 10:37    Post subject: Reply with quote

Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\SOFT\USBDeview\USBDeview.exe
/disable_by_class 08;06;50
%COMMANDER_PATH%\ICO\1.ico
Безопасное  и з в л е ч е н и е  USB-накопителя
%COMMANDER_PATH%\SOFT\USBDeview\
0
-1

Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\SOFT\USBDeview\USBDeview.exe
/enable_by_class 08;06;50
%COMMANDER_PATH%\ICO\2.ico
З а п у с к  USB-накопителя
%COMMANDER_PATH%\SOFT\USBDeview\
0
-1

http://www.nirsoft.net/utils/usb_devices_view.html
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sun Jul 18, 2010 22:28    Post subject: Reply with quote

Вот командник для UPX, которым я пользуюсь:
Code:

@Echo Off
SetLocal
Set #I=
Set #J=
Set #P=%~2
If /i _%1 EQU _/c (Set #J=COMPRESS)
If /i _%1 EQU _/d (Set #J=DECOMPRESS)
If Not Defined #J Exit

:SHIFTPARAM
If _%CD:~-1,1% EQU _\ (Set #P=%CD%%#P%) Else (Set #P=%CD%\%#P%)
If _%#P:~-1,1%_ EQU _ _ (Set #P=%#P:~0,-1%)
If _%#P:~-1,1%_ EQU _\_ (Set #P=%#P:~0,-1%)
Call :%#J% "%#P%"
Shift
Set #P=%~2
If Defined #P GoTo :SHIFTPARAM
Exit

:COMPRESS
Title Compress Applications
Set #P=%COMMANDER_PATH%\UniExtract\bin\Upx.exe
If Not Exist "%~1\*.*" GoTo :COMPRESSFILE
SetLocal EnableDelayedExpansion
For /r %1 %%i In (*.exe,*.dll,*.bin,*.bpl,*.irc,*.pyd,*.wcx,*.wfx,*.wlx,*.pfl,*.ax,*.sfx) Do (
   "%#P%" --best --compress-icons=0 --brute --crp-ms=999999 -k "%%~fi"
   "%#P%" -t "%%~fi"
   Set #I=%%~fi
   If !ERRORLEVEL! NEQ 0 (
      Move /y "!#I:~0,-1!^~" "%%~fi") Else (Del /q "!#I:~0,-1!^~"))
Exit /b
:COMPRESSFILE
For %%i In (exe,dll,bin,bpl,irc,pyd,wcx,wfx,wlx,pfl,ax,sfx) Do (If /i .%~x1==..%%i Set #I=!)
If Not Defined #I Exit /b
"%#P%" --best --compress-icons=0 --brute --crp-ms=999999 -k %1
"%#P%" -t %1
Set #I=%~1
If %ERRORLEVEL% NEQ 0 (Move /y "%#I:~0,-1%~" "%#I%") Else (Del /q "%#I:~0,-1%~")
Exit /b

:DECOMPRESS
Title DeCompress Applications
If Not Exist "%~1\*.*" GoTo :DECOMPRESSFILE
For /r %1 %%i In (*.exe,*.dll,*.bin,*.bpl,*.irc,*.pyd,*.wcx,*.wfx,*.wlx,*.pfl,*.ax,*.sfx) Do (
   "%COMMANDER_PATH%\UniExtract\bin\Upx.exe" -d "%%~fi")
Exit /b
:DECOMPRESSFILE
For %%i In (exe,dll,bin,bpl,irc,pyd,wcx,wfx,wlx,pfl,ax,sfx) Do (If /i .%~x1==..%%i Set #I=!)
If Not Defined #I Exit /b
"%COMMANDER_PATH%\UniExtract\bin\Upx.exe" -d %1
Exit /b
Сергей Ёлкин (2005 - 2009)


Первый ключ - или /c - compress, или /d - decompress, указывается, как правильно было сказано, в строке команды, а не в строке параметров. Имена файлов/папок передаются с помощью %S, тогда логика такая:
- файл под курсором, если нет выбранных
- файлы в папке под курсором с рекурсией
- выбранные файлы и в выбранных папках с рекурсией
Список обрабатываемых расширений см. в командах For
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Mon Jul 19, 2010 11:41    Post subject: Reply with quote

Serge Yolkin
Не работает.
Поменял пути на свои.
Кнопка:
Code:
TOTALCMD#BAR#DATA
D:\totalcmd\123.cmd /c
%S
D:\totalcmd\TOTALCMD.EXE,3



-1

Что упустил?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица


Last edited by ask-rus on Mon Jul 19, 2010 14:39; edited 1 time in total
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Mon Jul 19, 2010 12:16    Post subject: Reply with quote

ask-rus
На вид, вроде все правильно. Может, через текст-бокс какие символы заменяются... Могу кинуть рабочий файл - скажи куда. На всякий: а как не работает? Вставь две строчки перед меткой :SHIFTPARAM

Echo %*
Pause

и скажи, что получилось.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Mon Jul 19, 2010 14:37    Post subject: Reply with quote

Serge Yolkin wrote:
а как не работает?

Кмд мигает/мерцает, упаковки не происходит.
Serge Yolkin wrote:
Вставь две строчки перед меткой :SHIFTPARAM

Сделал:
Code:
Echo %*
Pause[/quote]
@Echo Off
SetLocal
Set #I=
Set #J=
Set #P=%~2
If /i _%1 EQU _/c (Set #J=COMPRESS)
If /i _%1 EQU _/d (Set #J=DECOMPRESS)
If Not Defined #J Exit

Echo %*
Pause
:SHIFTPARAM
If _%CD:~-1,1% EQU _\ (Set #P=%CD%%#P%) Else (Set #P=%CD%\%#P%)
If _%#P:~-1,1%_ EQU _ _ (Set #P=%#P:~0,-1%)
If _%#P:~-1,1%_ EQU _\_ (Set #P=%#P:~0,-1%)
Call :%#J% "%#P%"
Shift
Set #P=%~2
If Defined #P GoTo :SHIFTPARAM
Exit

:COMPRESS
Title Compress Applications
Set #P=%COMMANDER_PATH%\SOFT\UPX\upx.exe
If Not Exist "%~1\*.*" GoTo :COMPRESSFILE
SetLocal EnableDelayedExpansion
For /r %1 %%i In (*.exe,*.dll,*.bin,*.bpl,*.irc,*.pyd,*.wcx,*.wfx,*.wlx,*.pfl,*.ax,*.sfx) Do (
   "%#P%" --best --compress-icons=0 --brute --crp-ms=999999 -k "%%~fi"
   "%#P%" -t "%%~fi"
   Set #I=%%~fi
   If !ERRORLEVEL! NEQ 0 (
      Move /y "!#I:~0,-1!^~" "%%~fi") Else (Del /q "!#I:~0,-1!^~"))
Exit /b
:COMPRESSFILE
For %%i In (exe,dll,bin,bpl,irc,pyd,wcx,wfx,wlx,pfl,ax,sfx) Do (If /i .%~x1==..%%i Set #I=!)
If Not Defined #I Exit /b
"%#P%" --best --compress-icons=0 --brute --crp-ms=999999 -k %1
"%#P%" -t %1
Set #I=%~1
If %ERRORLEVEL% NEQ 0 (Move /y "%#I:~0,-1%~" "%#I%") Else (Del /q "%#I:~0,-1%~")
Exit /b

:DECOMPRESS
Title DeCompress Applications
If Not Exist "%~1\*.*" GoTo :DECOMPRESSFILE
For /r %1 %%i In (*.exe,*.dll,*.bin,*.bpl,*.irc,*.pyd,*.wcx,*.wfx,*.wlx,*.pfl,*.ax,*.sfx) Do (
   "%COMMANDER_PATH%\SOFT\UPX\upx.exe" -d "%%~fi")
Exit /b
:DECOMPRESSFILE
For %%i In (exe,dll,bin,bpl,irc,pyd,wcx,wfx,wlx,pfl,ax,sfx) Do (If /i .%~x1==..%%i Set #I=!)
If Not Defined #I Exit /b
"%COMMANDER_PATH%\SOFT\UPX\upx.exe" -d %1
Exit /b
Сергей Ёлкин (2005 - 2009)

Serge Yolkin wrote:
и скажи, что получилось.

Quote:
/c winamp.exe
Для продолжения нажмите любую клавишу . . .

Serge Yolkin wrote:
Могу кинуть рабочий файл - скажи куда.
Куда угодно, чтобы любой мог взять.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Секреты и советы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 36, 37, 38 ... 43, 44, 45  Next
Page 37 of 45

 
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