假设我想在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