|
Bat файл, помогите добавить строку | ☑ | ||
---|---|---|---|---|
0
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 но что-то не догоняю как сделать... |
|||
1
mistеr
10.10.16
✎
11:41
|
(0) find ... || echo ...
|
|||
2
Garykom
гуру
10.10.16
✎
11:57
|
if %errorlevel% equ 1 goto
|
|||
3
vde69
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 |
|||
4
mistеr
10.10.16
✎
12:44
|
(2) Это вариант для танкистов.
|
|||
5
vde69
10.10.16
✎
13:15
|
поиск победил, теперь запись файла с кракозябрами
как записать в UTF кодировки |
|||
6
arsik
гуру
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 |
|||
8
shinobufag
10.10.16
✎
13:39
|
Прочитал как 1СЕКТАНТ.
|
|||
9
mistеr
10.10.16
✎
14:10
|
(5) chcp 65001
|
|||
10
vde69
10.10.16
✎
15:39
|
короче я не смог победить кодировки, проблема в том, что часть используют UTF-8 а часть UTF-16
сделал через copy /b file1+file2 file1 |
|||
11
mistеr
11.10.16
✎
11:09
|
(10) Надеюсь file2 без BOM. :)
|
|||
12
newbling
11.10.16
✎
12:18
|
(5) CHCP 1251 или сколько тебе нужно
|
|||
13
newbling
11.10.16
✎
12:19
|
(10) выложи конечный разультат
|
|||
14
vde69
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 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |