找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26979|回复: 10

[文本处理] 批处理删除ini文本指定第几行外的所有内容怎么写呀

[复制链接]
发表于 2012-3-16 01:44:29 | 显示全部楼层 |阅读模式
本帖最后由 ydm566 于 2012-3-16 03:38 编辑

删除当前目录1.ini文本里指定的几行内容以外的所有内容
asdsasd666
adwes444
adwfffgg66
adsdwfsdf
wqdsaf222
qwgdsfffdf
ghgfjghjhj
fdgfdgfdgfd
保留前三行,删除第三行以为的所有内容
发表于 2012-3-16 03:00:16 | 显示全部楼层
本帖最后由 ivor 于 2012-3-16 12:33 编辑
  1. setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.ini) do (
  3.         echo %%a & set /aa+=1
  4.         if !a! equ 3 pause&exit
  5. )
复制代码
 楼主| 发表于 2012-3-16 03:12:39 | 显示全部楼层
楼上的这段不行呀,没反应
发表于 2012-3-16 06:06:51 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (1.ini) do (
  3. set /a m+=1
  4. if !m! leq 3 echo %%i
  5. )
  6. pause
复制代码
 楼主| 发表于 2012-3-16 13:03:06 | 显示全部楼层
还是不行呀,麻烦大侠测试下再发呀
发表于 2012-3-16 13:57:16 | 显示全部楼层
还是不行呀,麻烦大侠测试下再发呀
ydm566 发表于 2012-3-16 13:03


2楼和4楼的代码可以呀。
要输出到文件,你自己加重定向就行了。
 楼主| 发表于 2012-3-16 14:02:13 | 显示全部楼层
不要输出,我的意思就是删除ini里的指定几行以外的所有内容
 楼主| 发表于 2012-3-16 14:51:06 | 显示全部楼层
我只要删除当前文件夹里面INI指定几行以外的内容,有很多文件夹,如果输出的话,很麻烦。最好是能直接修改
发表于 2012-3-16 18:54:41 | 显示全部楼层
回复 3# ydm566
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in (1.ini) do (
  4.     echo,%%a
  5.     set /a n+=1
  6.     if !n! equ 3 (
  7.         goto :eof
  8.     )
  9. ))>1.ini.new
  10. move /y 1.ini.new 1.ini
复制代码
 楼主| 发表于 2012-3-16 20:39:46 | 显示全部楼层
谢谢9楼的朋友,这个可以
发表于 2012-3-16 20:44:22 | 显示全部楼层
  1. sed -i "4,$d" 1.ini
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 18:31 , Processed in 0.020449 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表