|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] дописать строки в Default.bar (Total Commander) |
|
|
CMD/BAT - [решено] дописать строки в Default.bar (Total Commander)
|
Новый участник Сообщения: 49 |
Профиль | Отправить PM | Цитировать Доброго время суток.
Помогите, подскажите, пожалуйста, как при помощи Bat-файла дописать строки в Default.bar (Total Commander): Необходимо чтобы скрипт проверял наличие этих строк, если их нет, то записывал в конце файла, продолжая нумерацию. |
|
Отправлено: 00:56, 26-03-2014 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off setlocal enabledelayedexpansion for %%i in (1 2) do ( >nul findstr /irxc:"button[0-9]*=C:\\Program Files\\TeraCopy\\teracopy\.exe,%%i" "Default.bar"|| ( for /f "usebackq delims=" %%j in ("Default.bar") do ( set last_string=%%j ) for /f "delims=$=" %%j in ("!last_string:menu=$!") do ( set /a next_number=%%j+1 ) ( echo button!next_number!=C:\Program Files\TeraCopy\teracopy.exe,%%i echo cmd!next_number!=C:\Program Files\TeraCopy\teracopy.exe echo param!next_number!=Copy *"%%L" "%%T" echo path!next_number!=C:\Program Files\TeraCopy\ echo menu!next_number!=TeraCopy )>>"Default.bar" ) ) endlocal exit /b |
Отправлено: 18:47, 26-03-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Georgio, спасибо за помощь. Скрипт добавляет сроки, но одинаковые только меняет номер иконки.
И добавляет только тогда, когда в одной папке со сриптом находится Default.bar. |
Отправлено: 22:02, 26-03-2014 | #3 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата 41275jur:
Извините, недоглядел. Переделал: @echo off setlocal enabledelayedexpansion for %%i in ("1 Copy" "2 Move") do ( for /f "tokens=1,2" %%j in (%%i) do ( >nul findstr /irxc:"button[0-9]*=C:\\Program Files\\TeraCopy\\teracopy\.exe,%%j" "Default.bar"|| ( for /f "usebackq delims=" %%l in ("Default.bar") do ( set last_string=%%l ) for /f "delims=$=" %%l in ("!last_string:menu=$!") do ( set /a next_number=%%l+1 ) ( echo button!next_number!=C:\Program Files\TeraCopy\teracopy.exe,%%j echo cmd!next_number!=C:\Program Files\TeraCopy\teracopy.exe echo param!next_number!=%%k *"%%L" "%%T" echo path!next_number!=C:\Program Files\TeraCopy\ echo menu!next_number!=Tera%%k )>>"Default.bar" ) ) ) endlocal exit /b Цитата 41275jur:
Но это так и задумывалось: Вы же не указали путь к файлу "Default.bar". |
||
Последний раз редактировалось Georgio, 26-03-2014 в 22:39. Отправлено: 22:34, 26-03-2014 | #4 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
|
||
Отправлено: 23:36, 26-03-2014 | #5 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off setlocal enabledelayedexpansion set Default.bar=C:\Program Files\Total Commander\Default.bar set TeraCopy=C:\Program Files\TeraCopy\ for %%i in ("1 Copy" "2 Move") do ( for /f "tokens=1,2" %%j in (%%i) do ( ( findstr /irxc:"button[0-9]*=%TeraCopy:\=\\%teracopy\.exe,%%j"^ "%Default.bar%">nul )|| ( for /f "usebackq delims==" %%l in ("%Default.bar%") do ( set last_menu=%%l set /a next_number=!last_menu:menu=!+1 ) ( echo button!next_number!=%TeraCopy%teracopy.exe,%%j echo cmd!next_number!=%TeraCopy%teracopy.exe echo param!next_number!=%%k *"%%L" "%%T" echo path!next_number!=%TeraCopy% echo menu!next_number!=Tera%%k )>>"%Default.bar%" ) ) ) endlocal exit /b |
Последний раз редактировалось Georgio, 27-03-2014 в 01:33. Отправлено: 01:08, 27-03-2014 | #6 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Georgio, большое спасибо, то, что надо.
Подскажи если не трудно, можно ли вписать в этот батник чтобы он автоматически определял, где установлен Total Commander и вписывал по этому пути строки в Default.bar. Оф. версия ставится в c:\totalcmd, другие ставятся C:\Program Files\Total Commander и т.д. То есть чтобы определял на системном диске. |
Отправлено: 21:58, 27-03-2014 | #7 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать Вместо команды "set Default.bar=C:\Program Files\Total Commander\Default.bar" делаем так:
Но надёжнее найти этот путь в реестре, выгрузить оттуда командой reg, и использовать. |
------- Отправлено: 22:18, 29-03-2014 | #8 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата 41275jur:
2 Он может быть не "прописан" в реестре (портативный вариант). 3 У пользователя может быть несколько ТС одновременно. В этом случае надежнее будет запускать батник из запущенного ТС и использовать для определения местоположения ТС переменную %COMMANDER_PATH% |
|
Отправлено: 08:18, 30-03-2014 | #9 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Хотелось бы, чтобы установка проходила в тихом режиме.
gora, помоги, пожалуйста. В твоем 7z SFX Tool v 4.2.5 в панели Total появляется значок, а с этим батником – строки вписуются но иконка не появляется даже после перезапуска Total Commander. |
Отправлено: 20:41, 31-03-2014 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - [файл-менеджер] Total Commander (бывший Windows Commander) | Nealles | Программное обеспечение Windows | 349 | 23-02-2019 20:16 | |
Утилиты - [addon] Total Commander [old] | SamLab | Наборы обновлений для Windows XP/2003/Windows 7 | 1308 | 28-04-2012 20:32 | |
Total Commander? | sarman | Хочу все знать | 27 | 27-03-2012 20:16 | |
Total Commander | alik777 | Программное обеспечение Linux и FreeBSD | 7 | 30-11-2010 08:37 | |
Total Commander | qeraser | Автоматическая установка Windows 2000/XP/2003 | 18 | 23-05-2010 07:45 |
|