Хм...ask-rus писал(а):Аналогия в общем.
Вставь для проверки в батник после "if -%1==- pause && cls && goto :EOF":
Код: Выделить всё
@cd
@echo %1
@pauseМодераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Хм...ask-rus писал(а):Аналогия в общем.
Код: Выделить всё
@cd
@echo %1
@pauseКод: Выделить всё
@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Ну а далее,c:\
TC2FS.exe
Для продолжения нажмите любую клавишу . . .
NotCompressibleException
Код: Выделить всё
%COMMANDER_PATH%\SOFT\UPX\Код: Выделить всё
%P%SКод: Выделить всё
TOTALCMD#BAR#DATA
cmd /c "%COMMANDER_PATH%\PLUGINS\bat\MultiUPX.bat"
%S
%COMMANDER_PATH%\ICO\UPX_2.ico
UPX
%COMMANDER_PATH%\SOFT\UPX\
-1
D:\Total Commander\SOFT\UPX
TCFS2.exe
...
upx: TCFS2.exe: FileNotFoundException: TCFS2.exe
Код: Выделить всё
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
upx: c:\TCFS2.exe: NotCompressibleException
Создайте временную папку, поместите в неё UPX.exe и TCFS2.exeask-rus писал(а):NotCompressibleException
Вообще, когда ты тащишь на кнопку, параметров, прописанных в кнопке (т.е., -9 --lzma), программа не получает, только имя перетаскиваемого файла.ask-rus писал(а):Тут ещё вот в чем странность. Я заметил, что с твоим батником некоторые исполняемые перестали жаться.В то время, как просто переношу исполняемый на кнопкуNotCompressibleExceptionи процесс проходит успешно.Код: Выделить всё
TOTALCMD#BAR#DATA D:\Total Commander\SOFT\UPX\upx.exe -9 --lzma D:\Total Commander\TOTALCMD.EXE,3 D:\Total Commander\SOFT\UPX\ -1
Код: Выделить всё
upx -9 --lzma f:\TCFS2.exeКод: Выделить всё
upx: f:\TCFS2.exe: NotCompressibleExceptionКод: Выделить всё
upx f:\TCFS2.exeКод: Выделить всё
Packed 1 file.Поехали.GGS писал(а):Создайте временную папку, поместите в неё UPX.exe и TCFS2.exe
Запустите в этой папке CMD, а затем в консоли: upx -9 --lzma TCFS2.exe
Чтобы проследить - run_pause.bat:c:\123\run_pause.bat
c:\123\tcfs2.exe
c:\123\upx.exe
Код: Выделить всё
@echo off
%*
echo --------
pause
clsКод: Выделить всё
cd c:\123\Код: Выделить всё
c:\123\run_pause.bat upx tcfs2.exeТо что было под рукой и жмем собснаMVV писал(а):сжимать его просто глупо.
Кстати, проверил сейчас - если параметры прописаны в строке команды, они передаются программе. Но параметры, которые прописаны в строке параметров - нет. Это тоже может быть полезно для перетаскивания с сохранением части параметров.Batya писал(а):О! А я и не был в курсе этого момента. Надо запомнить.MVV писал(а):Вообще, когда ты тащишь на кнопку, параметров, прописанных в кнопке (т.е., -9 --lzma), программа не получает, только имя перетаскиваемого файла.
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c
echo.>>%O.txt&&start notepad.exe /i %P%O.txt
%commander_path%\shell32.dll,1
Создание и открытие тхт файла с названием выделенного файла
1
-1
Код: Выделить всё
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
Код: Выделить всё
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
Код: Выделить всё
@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)
Код: Выделить всё
TOTALCMD#BAR#DATA
D:\totalcmd\123.cmd /c
%S
D:\totalcmd\TOTALCMD.EXE,3
-1Кмд мигает/мерцает, упаковки не происходит.Serge Yolkin писал(а):а как не работает?
Сделал:Serge Yolkin писал(а):Вставь две строчки перед меткой :SHIFTPARAM
Код: Выделить всё
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 писал(а):и скажи, что получилось.
/c winamp.exe
Для продолжения нажмите любую клавишу . . .
Куда угодно, чтобы любой мог взять.Serge Yolkin писал(а):Могу кинуть рабочий файл - скажи куда.