Доброго времени суток! Условия: Есть папка, в которой находится около 500 html-файлов. В этих файлах есть ссылки вида:'/documents/upload.php/xxxxx', где xxxxx - имена файлов. Задача: 1. Просмотреть все html-файлы 2. Найти все ссылки '/documents/upload.php/xxxxx' 3. Эти ссылки записать в отдельный текстовый файл Вопрос: Как написать батник, чтобы он искал все нужные ссылки, подставляя вместо xxxxx прописанные имена файлов? Заранее спасибо за ответ.
Результат, конечно. А есть другие варианты? Ибо под линуксом мне предлагали на shell сделать, но у меня винда.
С++ Builder PHP: TSearchRec sr; TStringList* FileList = new TStringList; TStringList* TempList = new TStringList; TFileStream* fsOut = new TFileStream("out.txt", fmCreate); String sText; String sLink; if(!FindFirst("my_dir\\*.html", faAnyFile, sr)) { do { if(sr.Name != "." && sr.Name != "..") FileList->Add("my_dir\\" + sr.Name); } while(!FindNext(sr)); FindClose(sr); } for(int i = 0; i < FileList->Count; ++i) { TempList->LoadFromFile(FileList->Strings[i]); sText = TempList->Text; while(sText.Pos("/documents/upload.php/")) { sText.Delete(1, sText.Pos("/documents/upload.php/") + 22 - 1); sLink = sText; sLink.SetLength(sLink.Pos("'") - 1); sLink = "/documents/upload.php/" + sLink + "\n"; fsOut->Write(&sLink[1], sLink.Length()); } } delete FileList; delete TempList; delete fsOut;
Это не скрипт, это код на языке С++ Запускать так: загружаем С++ Builder с http://www.embarcadero.com/ru/products/cbuilder (там есть триальная, если я не ошибаюсь), запускаем, вставляем код, компилируем, копируем появившийся файл из папки билдера в ту, где куча хтмл'ых файлов, запускаем. Хотя на самом деле, человеку не знакомому с программированием это будет не так просто, но выполнимо, я думаю)