nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
Ссылки на разные темы, обсуждения и т.п. , шапку потом поправлю.
|
loban_ser
- Longevity: 6 years 9 months
- Posts: 577
- REPUTATION:24[+] [-]
|
nikzzzz, Даже не знаю в этой ли теме пишу или нет, нужно вывести в консоль все параметр=значение определенной секции в ini файле с помощью cAu3.exe[Reg] Reg1=Значение Reg2=Значение Возможно это?cAu3.exe "IniReadSection('Old.ini','Reg')"
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
loban_ser,Нет, cAu3 не поддерживает двухмерные массивы, может добавлю. Но данная задача может быть решена с помощью StringRegExp ().
|
loban_ser
- Longevity: 6 years 9 months
- Posts: 577
- REPUTATION:24[+] [-]
|
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
loban_ser Нет, схода не напишу, могу только сказать, как это сделать. Сначала, с помощью StringRegExpReplace() получаем содержимое секции [Reg], затем получаем нужный массив с помощью StringRegExp (). В принципе, задачка не сложная, но регулярные выражения требуют аккуратности, написать в слепую очень сложно, я обычно пользуюсь отладчиком. Может, попозже напишу пример.
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
loban_ser Обновил утилиту, теперь74459cAu3.exe "IniReadSection('Old.ini','Reg')" должно работать.
|
loban_ser
- Longevity: 6 years 9 months
- Posts: 577
- REPUTATION:24[+] [-]
|
Как быть если в параметре и значении присутствуют пробелы?
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION: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
- Longevity: 6 years 9 months
- Posts: 577
- REPUTATION: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
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
loban_ser, Не сомненно, первый вариант более правильный.
|
loban_ser
- Longevity: 6 years 9 months
- Posts: 577
- REPUTATION:24[+] [-]
|
nikzzzz,
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION: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 При чтении кодировка и так автоматом определяется.
|
Page 1 of 2
Current time is: 03-Dec 14:05
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|