Вход | Регистрация

Информационные технологии :: Администрирование

Bat файл, помогите добавить строку

Bat файл, помогите добавить строку
Я
   vde69
 
10.10.16 - 11:34
суть задачи - если файл не содержит определенную строку - надо ее добавить

вот так все нормально добавляет нужную строку
echo CommonInfoBases=%~1\bases\%USERNAME%^@%USERDOMAIN%.v8i>>%AppData%\1c\1CEStart\1CEStart.cfg

пытаюсь сделать условие типа

if not exist | find /i "CommonInfoBases=%~1\bases\%USERNAME%^@%USERDOMAIN%.v8i" %AppData%\1c\1CEStart\1CEStart.cfg echo CommonInfoBases=%~1\bases\%USERNAME%^@%USERDOMAIN%.v8i>>%AppData%\1c\1CEStart\1CEStart.cfg

но что-то не догоняю как сделать...
 
 
   mistеr
 
1 - 10.10.16 - 11:41
(0) find ... || echo ...
   Garykom
 
2 - 10.10.16 - 11:57
if %errorlevel% equ 1 goto
   vde69
 
3 - 10.10.16 - 12:30
(2) так и буду делать...


теперь вот выяснил, что не ищет


find /i /c "CommonInfoBases=" C:\Users\Vorobyov\AppData\Roaming\1c\1CEStart\1CEStart.cfg

---------- C:\USERS\VOROBYOV\APPDATA\ROAMING\1C\1CESTART\1CESTART.CFG: 0
   mistеr
 
4 - 10.10.16 - 12:44
(2) Это вариант для танкистов.
   vde69
 
5 - 10.10.16 - 13:15
поиск победил, теперь запись файла с кракозябрами


как записать в UTF кодировки
   arsik
 
6 - 10.10.16 - 13:24
(5) powershell используй. Там все проще делается.
   Жан Пердежон
 
7 - 10.10.16 - 13:29
еще вариант

SET %FND="NO"
for /f %%i in ('findstr /I /C:"CommonInfoBases" test.bat') do echo SET %FND="OK"
if %FND%=="NO" echo CommonInfoBases>>test.bat
   shinobufag
 
8 - 10.10.16 - 13:39
Прочитал как 1СЕКТАНТ.
   mistеr
 
9 - 10.10.16 - 14:10
(5) chcp 65001
   vde69
 
10 - 10.10.16 - 15:39
короче я не смог победить кодировки, проблема в том, что часть используют UTF-8 а часть UTF-16

сделал через

copy /b file1+file2 file1
 
 Рекламное место пустует
   mistеr
 
11 - 11.10.16 - 11:09
(10) Надеюсь file2 без BOM. :)
   newbling
 
12 - 11.10.16 - 12:18
(5) CHCP 1251 или сколько тебе нужно
   newbling
 
13 - 11.10.16 - 12:19
(10) выложи конечный разультат
   vde69
 
14 - 12.10.16 - 17:41
(13) правда на машинах где не прописан параметр AppData - не работает


echo off

if not exist %AppData%\1c md %AppData%\1c >nul
if not exist %AppData%\1c\1CEStart md %AppData%\1c\1CEStart >nul

rem это файл признак спец действий
if not exist %AppData%\1c\1CEStart\1CEStart.v goto first_start

goto next_step

:first_start
del %AppData%\1c\1CEStart\ibases.v8i
del %AppData%\1c\1CEStart\1CEStart.cfg
echo 1 >%AppData%\1c\1CEStart\1CEStart.v

:next_step

if not exist %AppData%\1c\1CEStart\1CEStart.cfg copy /B %AppData%\1c\1CEStart\1CEStart.cfg+%~1\bases\%USERNAME%@%USERDOMAIN%.cfg %AppData%\1c\1CEStart\1CEStart.cfg >nul

find /i /c "CommonInfoBases=%~1\bases\%USERNAME%@%USERDOMAIN%.v8i" %AppData%\1c\1CEStart\1CEStart.cfg >nul
if %errorlevel% equ 1 copy /B %AppData%\1c\1CEStart\1CEStart.cfg+%~1\bases\%USERNAME%@%USERDOMAIN%.cfg %AppData%\1c\1CEStart\1CEStart.cfg

start %~1\bin\1cv8s.exe

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует