我想在.txt文件中创建一个在第17行编写/替换文本的程序。 我试过这个,但它只用于两行
@Echo off
Echo hello >>>>>>>>>>>>>>>>> test.txt
其结果是:
">> was unexpected at this time."
但是这项工作很好:
@Echo off
Echo hello >> test.txt
答案 0 :(得分:0)
@echo off
(for /F "tokens=1* delims=:" %%a in ('findstr /N "^" test.txt') do (
if %%a neq 17 (
echo(%%b
) else (
echo The new line 17
)
)) > output.txt
move /Y output.txt test.txt
此解决方案可消除可能出现在行首的冒号。如果需要,可以修复此问题。
答案 1 :(得分:-2)
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
For x = 1 to 16
OutP.WriteLine Inp.Readline
Loop
Inp.Readline
OutP.WriteLine wscript.Arguments(0)
Do Until Inp.AtEndOfStream
OutP.WriteLine Inp.Readline
Loop
将其命名为something.vbs
使用
cscript //nologo something.vbs "Line 17 text" < infile.txt > outfile.txt