Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] дописать строки в Default.bar (Total Commander)

Ответить
Настройки темы
CMD/BAT - [решено] дописать строки в Default.bar (Total Commander)

Новый участник


Сообщения: 49
Благодарности: 1

Профиль | Отправить PM | Цитировать


Доброго время суток.
Помогите, подскажите, пожалуйста, как при помощи Bat-файла дописать строки в Default.bar (Total Commander):
читать дальше »
button34=C:\Program Files\TeraCopy\teracopy.exe,1
cmd34=C:\Program Files\TeraCopy\teracopy.exe
param34=Copy *"%L" "%T"
path34=C:\Program Files\TeraCopy\
menu34=TeraCopy
button35=C:\Program Files\TeraCopy\teracopy.exe,2
cmd35=C:\Program Files\TeraCopy\teracopy.exe
param35=Move *"%L" "%T"
path35=C:\Program Files\TeraCopy\
menu35=TeraMove

Необходимо чтобы скрипт проверял наличие этих строк, если их нет, то записывал в конце файла, продолжая нумерацию.

Отправлено: 00:56, 26-03-2014

 

Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить 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
Благодарности: 1

Профиль | Отправить PM | Цитировать


Georgio, спасибо за помощь. Скрипт добавляет сроки, но одинаковые только меняет номер иконки.
И добавляет только тогда, когда в одной папке со сриптом находится Default.bar.
читать дальше »
button41=C:\Program Files\TeraCopy\teracopy.exe,1
cmd41=C:\Program Files\TeraCopy\teracopy.exe
param41=Copy *"%L" "%T"
path41=C:\Program Files\TeraCopy\
menu41=TeraCopy
button42=C:\Program Files\TeraCopy\teracopy.exe,2
cmd42=C:\Program Files\TeraCopy\teracopy.exe
param42=Copy *"%L" "%T"
path42=C:\Program Files\TeraCopy\
menu42=TeraCopy

Отправлено: 22:02, 26-03-2014 | #3


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить 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. »

Но это так и задумывалось: Вы же не указали путь к файлу "Default.bar".

Последний раз редактировалось Georgio, 26-03-2014 в 22:39.


Отправлено: 22:34, 26-03-2014 | #4


Новый участник


Сообщения: 49
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Georgio:
Но это так и задумывалось: Вы же не указали путь к файлу "Default.bar". »
C:\Program Files\Total Commander\Default.bar

Отправлено: 23:36, 26-03-2014 | #5


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить 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
Благодарности: 1

Профиль | Отправить PM | Цитировать


Georgio, большое спасибо, то, что надо.
Подскажи если не трудно, можно ли вписать в этот батник чтобы он автоматически определял, где установлен Total Commander и вписывал по этому пути строки в Default.bar. Оф. версия ставится в c:\totalcmd, другие ставятся C:\Program Files\Total Commander и т.д. То есть чтобы определял на системном диске.

Отправлено: 21:58, 27-03-2014 | #7


Пользователь


Сообщения: 70
Благодарности: 19

Профиль | Отправить PM | Цитировать


Вместо команды "set Default.bar=C:\Program Files\Total Commander\Default.bar" делаем так:
Код: Выделить весь код
set Default.bar=c:\totalcmd\Default.bar
if exist "C:\Program Files\Total Commander\Default.bar" set Default.bar="C:\Program Files\Total Commander\Default.bar"
Но надёжнее найти этот путь в реестре, выгрузить оттуда командой reg, и использовать.

-------
Разумный человек приспосабливается к миру, неразумный пытается приспособить мир к себе. Поэтому прогресс делают люди неразумные. (Дж. Б. Шоу)

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:18, 29-03-2014 | #8


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата 41275jur:
можно ли вписать в этот батник чтобы он автоматически определял, где установлен Total Commander и вписывал по этому пути строки в Default.bar. »
1 ТС может быть установлен у пользователя в любую директорию и на любом диске.
2 Он может быть не "прописан" в реестре (портативный вариант).
3 У пользователя может быть несколько ТС одновременно.
В этом случае надежнее будет запускать батник из запущенного ТС и использовать для определения местоположения ТС переменную %COMMANDER_PATH%
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:18, 30-03-2014 | #9


Новый участник


Сообщения: 49
Благодарности: 1

Профиль | Отправить PM | Цитировать


Хотелось бы, чтобы установка проходила в тихом режиме.

gora, помоги, пожалуйста. В твоем 7z SFX Tool v 4.2.5 в панели Total появляется значок, а с этим батником – строки вписуются но иконка не появляется даже после перезапуска Total Commander.

Отправлено: 20:41, 31-03-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] дописать строки в Default.bar (Total Commander)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - [файл-менеджер] 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




 
Переход