View previous topic :: View next topic |
Author |
Message |
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sat Jun 26, 2010 20:52 Post subject: |
|
|
Проблема в том, что консоль требует имена в кодировке DOS.
Попробуй вместо %L поставить %l или %D. И скрести пальцы - если у твоих файлов нет дополнительных коротких имен, ничего не выйдет.
Еще можно переделать командный файл, чтобы передавать имена как параметры - тогда будут работать в нормальной кодировке, но длина командной строки ограничена (не знаю, каков предел, в справке по ТК написано, что 32767 символов ), поэтому очень-очень много файлов не влезет. Чтобы укоротить имена, лучше передавать их без путей, при этом поле рабочей папки должно быть пустым, чтобы имена искались в текущей папке. Итак, файл:
Code: | @echo off
:loop
if -%1==- pause && cls && goto :EOF
"%COMMANDER_PATH%\SOFT\UPX\upx.exe" -9 --lzma --compress-icons=0 %1
shift
goto loop
|
Он принимает имена не в виде списка файлов, а через пробел в командной строке. В параметры кнопки надо прописать %S. _________________ 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: Tue Jun 29, 2010 18:17 Post subject: |
|
|
MVV wrote: | Еще можно переделать командный файл, чтобы передавать имена как параметры - тогда будут работать в нормальной кодировке |
Так и поступил.
MVV wrote: | но длина командной строки ограничена (не знаю, каков предел, в справке по ТК написано, что 32767 символов ), поэтому очень-очень много файлов не влезет. |
Редко до 20 файлов пак, поэтому всё пучком. Батник работает. Благодарствую. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sun Jul 04, 2010 18:41 Post subject: |
|
|
Какая-то мистика, но батник перестал работать в один прекрасный вчерашний день (просто моргает окно кмд). Причины мне неизвестны: восстановил раздел с ОС с LiveCD, переименовал каталог с TC, перенес батник, но потом тут же вернул его на место - больше ничего не делал.
d:\Total Commander\SOFT\UPX\upx.exe
d:\Total Commander\PLUGINS\bat\MultiUPX.bat
Code: | @echo off
:loop
if -%1==- pause && cls && goto :EOF
"%COMMANDER_PATH%\SOFT\UPX\upx.exe" -9 --lzma --compress-icons=0 %1
shift
goto loop |
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\PLUGINS\bat\MultiUPX.bat
%S
%COMMANDER_PATH%\ICO\UPX_2.ico
UPX
-1
|
_________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Sun Jul 04, 2010 20:01 Post subject: |
|
|
ask-rus wrote: | Какая-то мистика, но батник перестал работать |
Первым делом для проверки в команде кнопки перед вызовом батника напиши "cmd /k". _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sun Jul 04, 2010 20:33 Post subject: |
|
|
Batya
Code: | TOTALCMD#BAR#DATA
cmd /k "%COMMANDER_PATH%\PLUGINS\bat\MultiUPX.bat"
%S
%COMMANDER_PATH%\ICO\UPX_2.ico
UPX
-1
|
Так работает, но после в консоли вижу:
Собственно, это было проверкой (?) и проверка прошла.
Без "cmd /k" всё по-прежнему. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Sun Jul 04, 2010 22:13 Post subject: |
|
|
MVV wrote: | А если вручную запустить из командной строки этот бат-файл, передав любой экзешник как параметр (запускать по Shift+Enter) - сработает? |
Не знаю, как правильно это сделать.
MVV wrote: | А вообще, если с cmd работает, то замени cmd /k на cmd /c, и окно будет закрываться после выполнения команды. |
Да, всё в норме. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sun Jul 04, 2010 23:01 Post subject: |
|
|
ask-rus wrote: | MVV wrote: | А если вручную запустить из командной строки этот бат-файл, передав любой экзешник как параметр (запускать по Shift+Enter) - сработает? |
Не знаю, как правильно это сделать. |
Фокус на MultiUPX.bat, Ctrl+Shift+Enter (полное имя файла пропишется в командную строку), затем фокус на экзешник, который нужно сжать, Ctrl+Shift+Enter (полное имя экзешника добавится к командной строке), и затем Shift+Enter.
А просто запустить MultiUPX.bat двойным щелчком - по идее должна открыться консоль с предложением нажать любую клавишу, а потом закрыться - работает? _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
jentoso
Joined: 20 Dec 2007 Posts: 353
|
(Separately) Posted: Mon Jul 05, 2010 09:30 Post subject: |
|
|
А почему нельзя просто через MultiArc все сделать? |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 05, 2010 11:15 Post subject: |
|
|
MVV wrote: | Фокус на MultiUPX.bat, Ctrl+Shift+Enter (полное имя файла пропишется в командную строку), затем фокус на экзешник, который нужно сжать, Ctrl+Shift+Enter (полное имя экзешника добавится к командной строке), и затем Shift+Enter. |
Я так и делал, только ручками.
Quote: | "d:\Total Commander\PLUGINS\bat\MultiUPX.bat" "c:\Program Files\Atlantis\Atlantis.exe" |
Quote: | Неправильная команда или имя файла |
MVV wrote: | А просто запустить MultiUPX.bat двойным щелчком - по идее должна открыться консоль с предложением нажать любую клавишу, а потом закрыться - работает? |
Работает. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 05, 2010 11:34 Post subject: |
|
|
MVV
Тут ещё вот в чем странность. Я заметил, что с твоим батником
Code: | TOTALCMD#BAR#DATA
cmd /c "%COMMANDER_PATH%\PLUGINS\bat\MultiUPX.bat"
%S
%COMMANDER_PATH%\ICO\UPX_2.ico
UPX
0
-1 |
некоторые исполняемые перестали жаться.
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 |
и процесс проходит успешно. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 05, 2010 11:42 Post subject: |
|
|
ask-rus wrote: | Цитата:
"d:\Total Commander\PLUGINS\bat\MultiUPX.bat" "c:\Program Files\Atlantis\Atlantis.exe"
Цитата:
Неправильная команда или имя файла |
Открой консоль. Выполни команды:
Code: | c:
cd c:\Program Files\Atlantis\
"d:\Total Commander\PLUGINS\bat\MultiUPX.bat" Atlantis.exe |
Так работает?
ask-rus wrote: | некоторые исполняемые перестали жаться. |
Вероятно, в именах таких файлов пробелы. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 05, 2010 11:57 Post subject: |
|
|
Batya wrote: | Так работает? |
Работает.
Но если повторить действия с другим подопытным:
Получим:
Quote: | NotCompressibleException |
Как видишь, нет пробелов. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 05, 2010 12:04 Post subject: |
|
|
ask-rus wrote: | Получим:
Цитата:
NotCompressibleException |
Разницу вижу только в параметре "--compress-icons=0". Попробуй без него. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Mon Jul 05, 2010 12:10 Post subject: |
|
|
Попробовал:
Code: | @echo off
:loop
if -%1==- pause && cls && goto :EOF
"%COMMANDER_PATH%\SOFT\UPX\upx.exe" -9 --lzma %1
shift
goto loop |
Аналогия в общем.
Quote: | NotCompressibleException |
_________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
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
|