我想使用cmd批处理文件删除文本文件中给定行号的特定单词。我不想创建一个新的输出文件,想在输入文件中进行修改。
例如,我有一个test.text文件,其中包含以下信息:
您好
你怎么样>
你能告诉我吗?
餐厅在哪里
在哪里附近
能不能再告诉我了
它在附近先生
谢谢
我想从第4,8行删除“where”,并从第6行删除“can”的第一次出现 有人可以帮帮我吗?
答案 0 :(得分:0)
此批处理文件正是您所要求的:
@echo off
setlocal EnableDelayedExpansion
for /F "tokens=1* delims=:" %%a in ('findstr /N "^" test.txt ^& del test.txt') do (
set "line=%%b"
rem i wanted to delete "where" from line number 4
if %%a equ 4 (
set "line=!line:where =!"
rem i wanted to delete "where" from line number 8
) else if %%a equ 8 (
set "line=!line:where =!"
rem and first occurence of "can" from line number 6.
) else if %%a equ 6 (
set "line=!line:can can=can!"
)
echo !line! >> test.txt
)
嗯,也许唯一的疑问是,如果在第6行是第一个或第二个"可以"被删除的词......