修改后的bat:
@echo off 2>b.ini
set /a n=0&color 2f
setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=:" %%i in ('findstr /n ".*" a.ini') do (
if "%%j"=="" (echo.>>b.ini) else (
set s=%%j
if /i "!s:~1,4!"=="COPY" (
echo [COPY!n!]>>b.ini&set/a n+=1
) else >>b.ini echo %%j
))
echo 有!n!个copy!
echo 整理好的文件保存在"b.ini"!
ping /n 3 127.1 >nul
start notepad.exe b.ini
设为你要查找的是:a.ini文件。
整理好的保存在b.ini中。
不知道你的INI文件里面的格式是不是比较简单的,是COPY开头的那么排序用SORT命令就可以了~
@echo off & set/p F_name=输入ini文件名:
for /f "tokens=3" %%i in ('find/c "copy" "%F_name%"')do echo/Copy有%%i行
sort "%F_name%">"Sort_%F_name%"&&echo/排序好的文件名为Sort_%F_name%
pause & start "" "Sort_%F_name%"
PS:排序用Excel排不好吗??
不知道你的ini文件的格式怎么样的 我只能创建一个2.ini 格式是
copy1
copy2
copy3
这样的
贴上代码
dim path,sum
set fso=createobject("scripting.filesystemobject")
Set TestFile=fso.CreateTextFile("C:\2.ini",Ture)
path=inputbox("请输入ini的路径")
set file=fso.opentextfile(path,1)
a=file.readall
file.close
sum=tongji(a,"copy")
msgbox "copy出现了"&sum&"次"
instead(sum)
msgbox("创建了c:\2.ini")
function tongji(a,b)
t=0:tongji=-1
do
t=instr(t+1,a,b)
tongji=tongji+1
loop until t=0
end function
function instead(sum)
for i=1 to sum
TestFile.WriteLine("copy"&i)
next
TestFile.Close
end function