Познавательный портал

CMD/BAT- [решено]копирование текста с изменением текста

CMD, BAT, копирование текста, замена текстаСтояла задача упростить(автоматизировать), добавление новых баз 1с. Проблема была в том, что часть пользователей сидит локально, чать по сети. Соответственно у всех разные пути. Было решено добавлять вначале базу в терминальном доступе, а потом копировать локальным. Главная загвоздка была, это поменять пути в файле баз.

 

Долго искал батник, но готового решения не найти, общее мнение: геморно, проще скриптами или через сторонние программы.

 

Но, кто ищет тот находит.

Сначало опишу, что делает батник.

 

  • копирует исходный список баз в заданную папку. И далее работает со скопированным файлом.
  • Далее извлекается текст, в нем меняется путь.
  • Результат записывается во временный файл.
  • Содержание временного файла, записывается в нужный нам

В итоге получаем новый список баз, с правильно указанными путями.

 

Сам батник.

xcopy "D:\Users\Base\AppData\Roaming\1C\1CEStart\ibases.v8i" "D:\Users\Base\AppData\Roaming\1C\1CEStart\server" /Y 

@echo off
setlocal enabledelayedexpansion
Set infile=ibases.v8i
Set find=B:\1с\InfoBases
Set replace=\\SERVER\InfoBases
@echo off
setlocal enabledelayedexpansion
set COUNT=0
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>test_bat.txt
)
move test_bat.txt %infile%

pause