Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Удаление текста из файла и запиь нового (http://forum.oszone.net/showthread.php?t=168035)

wwe 20-02-2010 20:05 1352132

Удаление текста из файла и запиь нового
 
как сделать так чтобы Autoit например находил файл по заданому ранее параметру и записывал в него те строки текста которые я в Autoit впишу а остальной текст который был в файле удалял
мне нужно чтобы я например указав скрипту на файл тхт в котором например содержится три строчки текста и мне нужно чтобы эти три строчки были стерты и вписана одна новая
мне не нужен скрипт поиска, мне нужен скрипт который будет удалять текст в текстовам файле (не текстовый файл а именно текст в файле) и после удаления текста будет вписывать туда уже свой заданый текст

Creat0R 20-02-2010 20:27 1352143

Предупреждение за нарушение правил форума, пункт 2.7:

Цитата:

В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема).
Переименуйте пожалуйста тему.

madmasles 20-02-2010 20:33 1352146

wwe,
Примерно так у меня получилось:
Код:

$sFile = "MyFile.txt"

$aReturn = _FileSearch(@HomeDrive, $sFile)
If $aReturn[0] = 0 Then
    MsgBox(0, "Тест", "Файл не найден.", 5)
    Exit
EndIf

$value = InputBox("Тест", "Введите что-нибудь")
If @error = 1 Then Exit
If
$value = "" Then
    MsgBox(0, "Тест", "Вы ничего не ввели")
    Exit
EndIf

$hFile = FileOpen($aReturn[1], 2)
FileWriteLine($aReturn[1], $value)
FileClose($hFile)

Func _FileSearch($sPath, $sFileMask)
    Local $sOut = StringToBinary("0" & @CRLF, 2), $aOut
    Local $hDir = Run(@ComSpec & ' /U/C DIR "' & $sPath & '\' & $sFileMask & '" /S/B/A-D', @SystemDir, @SW_HIDE, 6)

    While 1
        $sOut &= StdoutRead($hDir, False, True)
        If @error Then ExitLoop
    WEnd


    $aOut = StringRegExp(BinaryToString($sOut, 2), "[^\r\n]+", 3)
    If @error Then Return SetError(1)

    $aOut[0] = UBound($aOut) - 1
    Return $aOut
EndFunc  ;==>_FileSearch


wwe 21-02-2010 09:10 1352395

madmasles, это не то Вы меня не поняли!
мне нужен не поисковый скрипт, а скрипт который именно будет удалять текст из текстового файла и вписывать туда уже иной

madmasles 21-02-2010 09:12 1352396

Цитата:

Цитата wwe
как сделать так чтобы Autoit например находил файл по заданому ранее параметру »

Цитата:

Цитата wwe
мне не нужен скрипт поиска, »

wwe,
Вы определитесь, что Вам конкретно нужно :)

Creat0R 21-02-2010 09:22 1352400

Цитата:

Цитата wwe
скрипт который именно будет удалять текст из текстового файла и вписывать туда уже иной »

См. _ReplaceStringInFile в справке.

madmasles 21-02-2010 09:28 1352403

Код:

$message = "Выберите текстовый файл для редактирования"
$var = FileOpenDialog($message, @DesktopDir & "\", "Текст (*.txt)", 1)
If $var = "" Then
    MsgBox(0, "Тест", "Вы ничего не выбрали.", 5)
    Exit
EndIf

$value = InputBox("Тест", "Введите что-нибудь")
If @error = 1 Then Exit
If
$value = "" Then
    MsgBox(0, "Тест", "Вы ничего не ввели.", 5)
    Exit
EndIf

$hFile = FileOpen($var, 2)
FileWriteLine($var, $value)
FileClose($hFile)

Скрипт удалит весь текст в выбранном файле и заменит его на введенный.


Время: 05:30.

Время: 05:30.
© OSzone.net 2001-