0

ディレクトリをクロールし、そこに含まれるすべてのファイルを検索する aspx ページを作成しようとしています。私はその部分がダウンしていると思います。

私が読んでいるhtmlページとaspページから最初に.txtファイルを作成せずに文字列を読み取ることは可能ですか? 大量の新しいファイルを作成して、後でそれらを削除しなければならなくなりたくありません。

最終的に、ディレクトリ全体を検索し、alt 属性が空の、または alt 属性がないすべてのイメージ タグを検索するツールを開発しようとしています。タグを見つけることができるjQueryをいくつか書きました。また、ディレクトリを検索する部分も書きました。

4

3 に答える 3

2

ファイルシステムにファイルがある場合は、単純に読み取ることができます。テキスト形式であることがわかっている場合は、正しいエンコーディングのストリームを使用してこれを行う必要があります。

HTML を読み取ってクエリを実行しているので、このタスク専用に作成されたライブラリ ( HTML Agility Pack ) を使用することをお勧めします。HTML ファイルへのパスを指定して、すべてのimg要素をクエリできます。ソースのダウンロードには、このタスクやその他のタスクを実行する方法を示すサンプル プロジェクトが付属しています。

于 2012-05-18T14:12:43.800 に答える
1

リンク: http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx

例: http://www.csharp-examples.net/load-text-file-to-string/ (この例は .txt ファイルの操作方法を示していますが、他の拡張子を付けることができると思います)

すべてのファイルの取得: http://www.csharp-examples.net/get-files-from-directory/

編集:エンコーディングを忘れないでください。

于 2012-05-18T14:12:27.700 に答える
0

確かに、環境変数に保存してみませんか。大騒ぎも混乱もありません。このようなことを試してみてください: html または asp ファイルを分解し、変数の配列に保存します。それを元に戻す方法も示しました。これがあなたにとっての解決策であるかどうか教えてください

@echo off
setlocal EnableDelayedExpansion EnableExtensions
echo.
set count=0
if exist newfile.html del newfile.html
:: to unassemble
for /f "tokens=*" %%a in (filename.html) do (
    echo %%a
    set /a count=count + 1
    set htmllinenum!count!=%%a
)& set finalcount=!count!
:: to assemble
for /l %%a in (1,1,%finalcount%) do (
    echo !htmllinenum%%a!>>newfile.html
)
notepad newfile.tmp
    set count=0
if exist newfile.asp del newfile.asp
:: to unassemble
for /f "tokens=*" %%a in (filename.asp) do (
    echo %%a
    set /a count=count + 1
    set asplinenum!count!=%%a
)& set finalcount=!count!
:: to assemble
for /l %%a in (1,1,%finalcount%) do (
    echo !asplinenum%%a!>>newfile.asp
)
notepad newfile.asp
于 2012-05-18T14:18:45.117 に答える