|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Найти и заменить в текстовом файле. Как? |
|
[решено] Найти и заменить в текстовом файле. Как?
|
Ветеран Сообщения: 2756 |
Есть текстовый файл 1.txt. Мне нужно найти в нем определенной слово и заменить его на имя компьютера с которого производится запуск скрипта, и после этого создать текстовый файл 2.txt такой же по содержанию но с измененным словом. Как это сделать?
|
|
------- Отправлено: 18:55, 13-01-2010 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Pozia,
Попробуйте так $hUser = FileOpen(@ScriptDir & "\" & @UserName & ".txt",2) ;создать новый файл с именем текущего пользователя. FileWrite($hUser, "Текущий пользователь - " & @UserName) ;записать в него текущего пользователя. FileClose($hUser) ;закрыть его. ; .......... FileMove(@ScriptDir & "\1.txt", @ScriptDir & "\" & @UserName & ".txt") ;переименовать существующий файл. |
Последний раз редактировалось madmasles, 06-03-2010 в 10:54. Отправлено: 04:07, 06-03-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать madmasles, я наверное Вас уже утомил
![]() Мне нужно его дописать чтобы скрипт еще определял какая разрядность системы (32 или 64) и менял Program Files Mark на Program Files в случае 32 разрядной системы или на Program Files (x86) при 64. Такое возможно? |
------- Отправлено: 19:10, 09-03-2010 | #12 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Pozia,
Ничего страшного. ![]() $sPathOld = @ScriptDir & "\1.txt" $sPathNew = @ScriptDir & "\2.txt" $slovoOld = "Program Files Mark" $slovoNew32 = "Program Files" $slovoNew64 = "Program Files (x86)" $sTest = FileRead($sPathOld) $ras = @OSArch ;макрос разрядности If $ras = "X86" Then $sTest = StringReplace($sTest, $slovoOld, $slovoNew32) Else $sTest = StringReplace($sTest, $slovoOld, $slovoNew64) EndIf FileWrite($sPathNew, $sTest) |
Отправлено: 19:49, 09-03-2010 | #13 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
madmasles, аподскажите еще как объеденить приведенный Вами скрипт и мой из поста 12 в один на подобие как вы сделали в посте 9. Сам никак не соображу. Сложновато. |
|
------- Отправлено: 20:49, 09-03-2010 | #14 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Pozia,
Примерно так: $sPathOld = ".\Setting\Set.reg" $sPathNew = "SetNew.reg" $slovo = "PoziaMark" $slovoOld = "Program Files Mark" $slovoNew32 = "Program Files" $slovoNew64 = "Program Files (x86)" $sTest = FileRead($sPathOld) $sTest = StringReplace($sTest, $slovo, @UserName) $ras = @OSArch If $ras = "X86" Then $sTest = StringReplace($sTest, $slovoOld, $slovoNew32) Else $sTest = StringReplace($sTest, $slovoOld, $slovoNew64) EndIf FileWrite($sPathNew, $sTest) Цитата:
PS Сам проверил - у меня так работает. |
|
Последний раз редактировалось madmasles, 09-03-2010 в 22:45. Отправлено: 22:20, 09-03-2010 | #15 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
|
|
------- Отправлено: 19:12, 11-03-2010 | #16 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать??? | VladZombie | Скриптовые языки администрирования Windows | 70 | 08-09-2020 13:28 | |
CMD/BAT - [решено] Передача исполняемому файлу параметров, перечисленных в текстовом файле | Vadikan | Скриптовые языки администрирования Windows | 6 | 19-04-2017 02:30 | |
CMD/BAT - [решено] Отделить последние цифры из строчки в текстовом файле | ZeroCrash | Скриптовые языки администрирования Windows | 4 | 29-06-2009 16:03 | |
[решено] Как удалить строки в текстовом файле при отсутсвии файла в опрелеленном месте? | Pozia | AutoIt | 23 | 14-05-2009 21:41 | |
[решено] Как заменить строку [27] в файле? | semiono | AutoIt | 8 | 05-04-2009 02:56 |
|