0

ここに投稿するのはこれが初めてなので、間違った場所にいる場合は申し訳ありません。

テキスト ファイルからドメインのリストを読み取り、それらに対して nslookup ls を実行して、結果を独自のテキスト ファイルに投稿するバッチ ファイルがあります。

最近までこれに問題があったことは一度もありませんでした。なぜこれが起こり始めたのか、一生わかりません.

最初のファイルを除いて、すべてのファイルは完璧です! 最初のファイル名は常に "∩╗┐" (引用符なし) で始まります。これらのファイルは、私が作成した別のプログラムによって読み取られるため、問題が発生する傾向があります。

ファイルを作成するコードは次のとおりです...

(
del /s /q "D:\Profile\Desktop\New_folder\Records\*.*"
for /f %%a in (D:\Profile\Desktop\New_folder\Domains\Domains.txt) do (
echo ls %%a >temp\tempfile.txt
echo exit >>temp\tempfile.txt
nslookup < temp\tempfile.txt > records\%%a.txt
)
)

どんな助けでも大歓迎です。

乾杯、

アーロン

4

1 に答える 1

1

IBM Extendend Charactersetによると、あなたが言及した文字EF BB BFには、UTF-8 バイト オーダー マーク (「BOM」) である16 進コードがあります。Wikipediaを参照してください。これは、ファイル Domain.txt が、最近 BOM 付きの UTF-8 文字エンコードを使用して保存されたように見えることを意味します。

文字を取り除くには、ファイルを編集して BOM なしで保存します。たとえば、BOM なしで UTF-8 でテキストを保存するようにメモ帳を作成する方法を参照してください。それを行う方法または「BOMの削除」を検索する

BOM なしの UTF-8 は印刷可能な ASCII と互換性があることに注意してください。つまり、UTF-8 としてエンコードされた「通常の」文字は、IBM 拡張文字セットなどのほとんどの一般的な文字セットで正しく表示されます。

入力ファイルを編集できない、または編集したくない場合は、バッチ スクリプトでプレフィックスを削除できます。http: //www.robvanderwoude.com/ntset.php#StrSubstのサブストリングを参照してください。

set BOM_REMOVED=false
for ...
set X=%%a
if %BOM_REMOVED%==false set X=%X:~3%
set BOM_REMOVED=true
echo ls %X >temp\tempfile.txt
...
于 2015-01-12T10:52:08.443 に答える