[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 ydm566 于 2012-3-16 03:38 编辑

删除当前目录1.ini文本里指定的几行内容以外的所有内容
asdsasd666
adwes444
adwfffgg66
adsdwfsdf
wqdsaf222
qwgdsfffdf
ghgfjghjhj
fdgfdgfdgfd
保留前三行,删除第三行以为的所有内容

本帖最后由 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. )
复制代码

TOP

楼上的这段不行呀,没反应

TOP

  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
复制代码

TOP

还是不行呀,麻烦大侠测试下再发呀

TOP

还是不行呀,麻烦大侠测试下再发呀
ydm566 发表于 2012-3-16 13:03


2楼和4楼的代码可以呀。
要输出到文件,你自己加重定向就行了。

TOP

不要输出,我的意思就是删除ini里的指定几行以外的所有内容

TOP

我只要删除当前文件夹里面INI指定几行以外的内容,有很多文件夹,如果输出的话,很麻烦。最好是能直接修改

TOP

回复 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
复制代码

TOP

谢谢9楼的朋友,这个可以

TOP

  1. sed -i "4,$d" 1.ini
复制代码

TOP

返回列表