2
です。バッチスクリプトに新しいIamがあります。ここでは、テキストファイルを100万行ごとに分割してみました。 チャンクファイルは、期待どおりに生成されますが、出力ファイルのコンテンツには感嘆符(!)がありません。また、感嘆符の後の直後の列をスキップしています。元のファイルにあるようにデータをチャンクに入れるのを助けてください!バッチスクリプトを使ってtxtファイルを分割している間に、感嘆符は
@ECHO OFF
setLocal DisableDelayedExpansion
set limit=1000000
set feed_name=test.txt
set file=%Tgt_Dir%\%feed_name%
set lineCounter=1
set filenameCounter=1
set name=
set extension=
for %%a in (%file%) do (
set "name=%%~na"
set "extension=%%~xa"
)
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (%file%) do (
set splitFile=!name!%date:~12,2%%date:~4,2%%date:~7,2%!filenameCounter!!extension!
if !lineCounter! gtr !limit! (
set /a filenameCounter=!filenameCounter! + 1
set lineCounter=1
echo Created !splitFile!.
)
echo %%a>> %Tgt_Dir%\!splitFile!
set /a lineCounter=!lineCounter! + 1
)
endlocal
タブ区切りファイルです。
あなたの提案に本当に感謝していますが、私もこの問題について別のスレッドを読んでいます。 [リンク](http://stackoverflow.com/questions/10964923/reading-a-file-with-special-characters-in-batch) 上記の変更を行った後も、私はまだエラーが発生しています - 今チャックが作成中です**%A ** – CIPHER
を表示している各行とコンテンツについて@CIPHER '%% a'の代わりに' %% A'を書きましたが、今修正しました。また、line'if!lineCounter!のバグ! gtr!限度!遅延拡張が有効になっている必要があります。したがって、比較の直後にエンドローカルを移動し、ELSEの部分にも移動しました。 – jeb
ありがとうございました。最初は%% Aへのアクセスに問題がありましたが、結果を得る。 – CIPHER