Цитата(Zeleax @ 5.2.2011, 11:34)
Вернемся в самое начало ))
Итак, насколько я понял:
1) нужно определить, что в файле F:\UOpilot\2.18.8\scripts\имя.txt есть строка содержащая слово "ТАНЯ"
Вопросы:1) строка в файле одна или много?
2) искать строку именно со словом ТАНЯ или же просто нужно в 1-й же строке файла вычленить имя, которое идет за текстом "Z:\__РАБОТА!!!!\ТЕКУЩАЯ РАБОТА\" ?
3) в какую переменную (например) и что именно вы хотите "занести"?
Если я что-то не так понял или спросил - поправьте
По поводу команды find:
Файл 1.txt содержит текст на
русском языке (в формате Unicode - это важно, иначе find не найдет! ):
Код
ааааааааа
ббббббббб
ббТаняббб
ввввввввв
ггггггггг
Если открыть командное окно выполнив "cmd" в Windows, а в нем выполнить команду
find "Таня" d:\Temp\1.txt
то увидим:
Код
---------- D:\TEMP\1.TXT
ббТаняббб
но нам это не годится для анализа, т.к. результат работы find нужно еще как-то передать в пилот.
Поэтому используем немного в другом виде:
find "Таня" d:\Temp\1.txt > 2.txt
В этом случае все результаты работы find будут перенаправлены в файл 2.txt.
В нем появится текст:
Код
---------- D:\TEMP\1.TXT
ЎЎ’ пЎЎЎ
Тоже не сахар (проблема с кодировками...), но т.к. присутствует 2-я строка, хоть и нечитабельная, то это значит, что слово Таня найдено в файле.
А данные можно прочитать пилотом в массив уже из файла 2.txt (интересует именно вторая строка)
Не знаю, пригодится ли результат в таком виде...
к сожалению этот скрипт находит всю строку целиком, а нужно чтобы нашел толко 1 слово в ней.
а есть-ли возможность поменять регистр букв в файле? (похоже нашел решение
http://www.rvsn2.narod.ru/download/regtxt.zip буду пытать дальше)
Цитата(DarkMaster @ 5.2.2011, 11:34)
set $arrForIf rthrthnfy
if ТАНЯ >= $arrForIf
msg !!!
end_if
set $arrForIf rthrthnfyтанятектнет
if ТАНЯ >= $arrForIf
msg !!!
end_if
все работает
set $arrForIf Z:\__РАБОТА!!!!\ТЕКУЩАЯ РАБОТА\ЮЛЯ\Клиент\АСК\для размышлений.pdf
if ТАНЯ >= $arrForIf
msg ???
end_if
set $arrForIf Z:\__РАБОТА!!!!\ТЕКУЩАЯ РАБОТА\ТАНЯ\Клиент\АСК\для размышлений.pdf
if ТАНЯ >= $arrForIf
msg !!!
end_if
не работает
Цитата(Zeleax @ 5.2.2011, 11:34)
1) строка в файле одна или много?
2) искать строку именно со словом ТАНЯ или же просто нужно в 1-й же строке файла вычленить имя, которое идет за текстом "Z:\__РАБОТА!!!!\ТЕКУЩАЯ РАБОТА\" ?
3) в какую переменную (например) и что именно вы хотите "занести"?
1 - одна единственная строка в файле: Z:\__РАБОТА!!!!\ТЕКУЩАЯ РАБОТА\ТАНЯ\Клиент\АСК\для размышлений.pdf
2 - нужно вычленить только слово ТАНЯ из всего текста
3 - при обнаружении слово ТАНЯ в строке #P = 1, при обнаружении ЮЛЯ в строке #P = 2, итд. но в иделале хорошо было-бы еслиб файл очистился, оставив в себе только слово с именем.