nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
Ссылки на разные темы, обсуждения и т.п. , шапку потом поправлю.
|
loban_ser
- Стаж: 6 лет 9 месяцев
- Сообщений: 577
- Репутация:24[+] [-]
|
nikzzzz, Даже не знаю в этой ли теме пишу или нет, нужно вывести в консоль все параметр=значение определенной секции в ini файле с помощью cAu3.exe[Reg] Reg1=Значение Reg2=Значение Возможно это?cAu3.exe "IniReadSection('Old.ini','Reg')"
|
nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
loban_ser,Нет, cAu3 не поддерживает двухмерные массивы, может добавлю. Но данная задача может быть решена с помощью StringRegExp ().
|
loban_ser
- Стаж: 6 лет 9 месяцев
- Сообщений: 577
- Репутация:24[+] [-]
|
|
nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
loban_ser Нет, схода не напишу, могу только сказать, как это сделать. Сначала, с помощью StringRegExpReplace() получаем содержимое секции [Reg], затем получаем нужный массив с помощью StringRegExp (). В принципе, задачка не сложная, но регулярные выражения требуют аккуратности, написать в слепую очень сложно, я обычно пользуюсь отладчиком. Может, попозже напишу пример.
|
nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
loban_ser Обновил утилиту, теперь74459cAu3.exe "IniReadSection('Old.ini','Reg')" должно работать.
|
loban_ser
- Стаж: 6 лет 9 месяцев
- Сообщений: 577
- Репутация:24[+] [-]
|
Как быть если в параметре и значении присутствуют пробелы?
|
nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
loban_ser,74498Как быть если в параметре и значении присутствуют пробелы? for /f "tokens=1,* delims==" %a in ('"cAu3.exe IniReadSection('WinPe.ini','Reg') /da:'=' /i:1"') do echo %a=%b
|
loban_ser
- Стаж: 6 лет 9 месяцев
- Сообщений: 577
- Репутация:24[+] [-]
|
nikzzzz, Будет ли верна такая конструкция?for /f "delims=" %%a in ('2^>nul dir /s /b /a:-d "%#Path%"') do cAu3.exe "_FileWrite('%%a',StringReplace(_FileRead('%%a',FileGetEncoding('%%a')),'%~1','%~2'),FileGetEncoding('%%a')+2)" >NUL Вместо:for /f "delims=" %%a in ('2^>nul dir /s /b /a:-d "%#Path%"') do cAu3.exe "_FileWrite('%%a',StringReplace(_FileRead('%%a',0),'%~1','%~2'),512+2)" >NUL Я так понимаю, что вторая сохраняет файлы в анси кодировке, независимо какя кодировка у них до этого была, а если нужно оставить кодировку неизменной то луше будет первый вариант? Или я не прав.
|
nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
loban_ser, Не сомненно, первый вариант более правильный.
|
loban_ser
- Стаж: 6 лет 9 месяцев
- Сообщений: 577
- Репутация:24[+] [-]
|
nikzzzz,
|
nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
В принципе, можно его сократить доfor /f "delims=" %%a in ('2^>nul dir /s /b /a:-d "%#Path%"') do cAu3.exe "_FileWrite('%%a',StringReplace(_FileRead('%%a',0),'%~1','%~2'),FileGetEncoding('%%a')+2)" >NUL При чтении кодировка и так автоматом определяется.
|
Страница 1 из 2
Текущее время: 03-Дек 20:17
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы
|
|