假設我想在2000位置(列)和文本文件的每一行使用批處理腳本編寫文本「檢查」。使用批處理腳本,在文本文件中每行的某一列寫入文本
即使該文件包含了結束於偏移100或低於2000
根據我的算法中可能是行...
for循環去,直到行的結尾開始從1號位
內for循環遍歷山坳號(偏移)而不做任何原始文件,或者如果沒有文字添加空格要達到該偏移
如果達到偏移量,只需添加文本...並繼續到下一行。
我希望我已經清除了我的問題。請幫我寫下它。 謝謝 Samrat的加雷
假設我想在2000位置(列)和文本文件的每一行使用批處理腳本編寫文本「檢查」。使用批處理腳本,在文本文件中每行的某一列寫入文本
即使該文件包含了結束於偏移100或低於2000
根據我的算法中可能是行...
for循環去,直到行的結尾開始從1號位
內for循環遍歷山坳號(偏移)而不做任何原始文件,或者如果沒有文字添加空格要達到該偏移
如果達到偏移量,只需添加文本...並繼續到下一行。
我希望我已經清除了我的問題。請幫我寫下它。 謝謝 Samrat的加雷
@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個字符在這裏做任何傷害):
for /l %%a in (1,1,10) do set "spc=!spc! !spc!"
的「小動作」也來處理空行:find /n
增加了行號(如[15]this is line no 15
),所以該行不再是空的。在]
之後的第二個標記(*
=「剩餘行」)是原始行。
到目前爲止您嘗試了什麼,您有什麼麻煩? – aschipfl