View previous topic :: View next topic |
Author |
Message |
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 05, 2010 12:34 Post subject: |
|
|
ask-rus wrote: | Аналогия в общем. |
Хм...
Вставь для проверки в батник после "if -%1==- pause && cls && goto :EOF":
Code: | @cd
@echo %1
@pause |
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 05, 2010 12:40 Post subject: |
|
|
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 |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 05, 2010 12:45 Post subject: |
|
|
А если в кнопке вызова батника указать "Путь запуска":
Code: | %COMMANDER_PATH%\SOFT\UPX\ |
А в параметрах вместо "%S":
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 05, 2010 13:07 Post subject: |
|
|
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 |
|
|
GGS
Joined: 02 May 2009 Posts: 322
|
(Separately) Posted: Mon Jul 05, 2010 13:11 Post subject: |
|
|
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 |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Jul 05, 2010 13:18 Post subject: |
|
|
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 |
А пишу:
Получаю:
Так что батник тут не при чем.
Видимо, просто UPX не каждый файл может сжимать в LZMA. Или действительно возникает исключение при сжатии, что может говорить об ошибке в коде UPX.
Кстати, если сжимать TCFS2.exe без дополнительных опций, то размер TCFS2.exe уменьшается с 8192 до 7168 - сжимать его просто глупо. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 05, 2010 13:25 Post subject: |
|
|
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: | c:\123\run_pause.bat upx tcfs2.exe |
Упаковался файл.
Без run_pause.bat кмд мигает, файл не пакуется.
С консоли пакуется...
MVV
Всё, дошло.
MVV wrote: | сжимать его просто глупо. |
То что было под рукой и жмем собсна . _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 05, 2010 13:37 Post subject: |
|
|
MVV wrote: | Вообще, когда ты тащишь на кнопку, параметров, прописанных в кнопке (т.е., -9 --lzma), программа не получает, только имя перетаскиваемого файла. |
О! А я и не был в курсе этого момента. Надо запомнить. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Jul 05, 2010 13:53 Post subject: |
|
|
Batya wrote: | MVV wrote: | Вообще, когда ты тащишь на кнопку, параметров, прописанных в кнопке (т.е., -9 --lzma), программа не получает, только имя перетаскиваемого файла. |
О! А я и не был в курсе этого момента. Надо запомнить. |
Кстати, проверил сейчас - если параметры прописаны в строке команды, они передаются программе. Но параметры, которые прописаны в строке параметров - нет. Это тоже может быть полезно для перетаскивания с сохранением части параметров. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Bubek
Joined: 21 Jul 2007 Posts: 20
|
(Separately) Posted: Mon Jul 12, 2010 15:07 Post subject: |
|
|
Давно хотел вот такую кнопку (очень часто нужно дать комментарий к какому-нибудь файлу) "Создание тхт файла с названием выделенного файла и его открытие", - приходилось совершать несколько действий, теперь одно.
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 |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sun Jul 18, 2010 10:37 Post subject: |
|
|
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 |
|
|
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Sun Jul 18, 2010 22:28 Post subject: |
|
|
Вот командник для 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 |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 19, 2010 11:41 Post subject: |
|
|
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 |
|
|
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Mon Jul 19, 2010 12:16 Post subject: |
|
|
ask-rus
На вид, вроде все правильно. Может, через текст-бокс какие символы заменяются... Могу кинуть рабочий файл - скажи куда. На всякий: а как не работает? Вставь две строчки перед меткой :SHIFTPARAM
Echo %*
Pause
и скажи, что получилось. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 19, 2010 14:37 Post subject: |
|
|
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 |
|
|
|
|
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
|