怎么用CMD 命令改写文本文件的第三行? 比如把nihao 输入到文本第三行

直接ECHO nihao >111.txt 只是追加在后面一行,我现在想把nihao指定输入到第三方, 是覆盖,不是追加.

你这个只能用批处理来写了,并且要求原覆盖的文件行数不能太多,要不运行速度很慢
把下面写命令复制到文本文件中并另存为 以bat为扩展名的文件,例如1.bat
下面命令中111.txt是你需要替换的文本文件,222.txt是临时文件,注意echo 后面的空格不要多
input replace row:输入你要改写的行号
input replace text:输入你要改写的内容
type 111.txt 显示改写后的文本文件

@echo off
setlocal EnableDelayedExpansion
set /p row=input replace row:
set /p strtext=input replace text:
set i=0
for /f "delims=" %%a in (111.txt) do (
set /a i+=1
if !i! == %row% (
echo %strtext% >>222.txt
) else (
echo %%a >>222.txt
)
)
del 111.txt
ren 222.txt 111.txt
type 111.txt
echo on
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-21
@echo off
setlocal EnableDelayedExpansion
set /p row=input replace row:
set /p strtext=input replace text:
set i=0
for /f "delims=" %%a in (111.txt) do (
set /a i+=1
if !i! == %row% (
echo %strtext% >>222.txt
) else (
echo %%a >>222.txt
)
)
del 111.txt
ren 222.txt 111.txt
type 111.txt
echo on本回答被提问者采纳
相似回答