2017-02-16 6 views
-1

2000の位置(列)にテキストを書き、バッチスクリプトを使用してテキストファイルのすべての行にテキストを書きたいとします。 バッチスクリプトを使用して、テキストファイルの各行の特定の列にテキストを書き込む

はさえファイルには、forループ

  1. Aが始まる行の終わりまで行く...アルゴは可能性があり、私によると、100または2000未満

    をオフセットで終わる行が含まれています第一の位置から

  2. ループが元のファイルに何もせずにCOL番号(オフセット)を横断するかがある場合は、スペースを追加するテキストがそのオフセットに到達しないようにするための内

  3. オフセットに達した場合は、テキスト...を追加して次の行に進みます。

私は私の質問をクリアしたいと思う。それを書くのを助けてください。

for /l %%a in (1,1,10) do set "spc=!spc! !spc!" 

も空行を処理するために、「ちょっとしたトリックを」: は サムラートGarai

+0

あなたはこれまでに何を試しましたか、何が問題になっていますか? – aschipfl

答えて

1
@echo off 
setlocal enabledelayedexpansion 
REM build a 2000-space-char-string: 
for /l %%a in (1,1,2000) do set "spc=!spc! " 
REM process every line [use a little trick to process empty lines also] 
for /f "tokens=1,* delims=]" %%a in ('find /n /v "" test.txt') do (
    REM append the long string to the line... 
    set line=%%b!%spc% 
    REM ... and cut to 2000 chars, appending "Check": 
    echo(!line:~0,2000!Check 
) 

2047文字の文字列を構築するための迅速な方法(余分な47の文字がここに危害を与えない)サンキュー:find /nは行番号を追加します([15]this is line no 15など)ので、行はもう空ではありません。 ]の後に2番目のトークン(* = "残りの行")が元の行です。

+0

それは働きました、そしてたくさんありました。 –

+0

問題が発生して、ファイルからデータを削除しています。 トリックを説明できますか....? –

+0

ファイルに感嘆符( '!')がありますか? – Stephan

関連する問題