
- 帖子
- 153
- 积分
- 312
- 技术
- 1
- 捐助
- 0
- 注册时间
- 2009-3-6
|
@echo off
set /p m=请输入要删除的行
setlocal enabledelayedexpansion
del temp.txt 2>nul
for /f "tokens=*" %%i in (1.txt) do (
set /a n+=1
if !n! neq %m% echo %%i>>temp.txt
)
del 1.txt
ren temp.txt 1.txt
pause
========================
上面的代码可以实现删除a.txt文件中指定行的功能。
但现在的问题是:
1、我现在有一个文件夹,里面有N多的txt文件,文件名没有什么规律,我现在想删除每个文件的第一行,该怎么实现呢?
2、我发现这段代码在既使是删除一个文件中的第一行的时候运行效率也不是很高,关键在ren这句上吧?如果要是删除好几百个这样的文件的话,我想效率更不会太高的。怎么办呢?
上传一个文件,作为例子,大家尝试一下。
======================分割线===================
注:如果删除指定列呢?或者说可不可以通过这段代码改写出一个同时具有以下三个功能的P程序:
a、可交互地指定被删除行
b、可交互地指定被删除列
c、可交互的同时指定被删除的行和列
如果困难,以分割线上方的问题为主。
谢谢。 |
|