本帖最后由 qq692172929 于 2016-3-30 01:54 编辑
自动生成data.db 例子
例如需要修改data.db 里面的第996行的 第五列 为 原来的值减一 其他内容不动。
代码:- echo off&color a&cls
- setlocal EnableDelayedExpansion
- set kj01=echo.---------------------------------------
- set lj=data.db
- title ,
-
- if exist %lj% goto :zcx
- echo 数据库规则以 空格 分列 已知最高支持26列,当前本程序已完成7列
- echo.&echo.&echo.快速插入一万条记录
- for /l %%i in (1,1,10000) do (
- echo %%i !random! !random! !random! !random! !random! !random! >>%lj%
- )
- :zcx
- ::::::::::::::::::::计算行数::::::::::::::::::::
- set /p list=请输入操作ID^>
- echo.数据库建立于:%date% %itme% >db.tmp
- for /f "delims=*" %%z in (%lj%) do (
- cls
- set /a aa+=1
- :::echo 读出来的内容是: %%z
- for /f "tokens=1-7" %%a in ("%%z") do (
- set list1=%%a
- set list2=%%b
- set list3=%%c
- set list4=%%d
- set list5=%%e
- set list6=%%f
- set list7=%%g
- echo.正在查找数据...
- )
- echo.####:!aa!
- :::::取到数据后操作。操作完毕后返回继续执行剩下的数据库。
- if "!list!"=="!list1!" call :ssok
- echo.!list1! !list2! !list3! !list4! !list5! !list6! !list7! >>db.tmp
- )
- del /s/q %lj%
- ren db.tmp %lj%
- echo ##记录共计: %aa% 行
-
- pause
- exit
-
- :ssok
- cls
- echo.&echo.&echo.
- echo. 客户ID:%list1%
- %kj01%
- echo. 客户姓名:%list2%
- %kj01%
- echo. 项目名称:%list3%
- %kj01%
- echo. 项目总数:%list4%
- %kj01%
- echo. 项目剩余:%list5%
- %kj01%
- echo. 上次消费:%list6%
- %kj01%
- echo. 录入时间:%list7%
- %kj01%
- echo 记录储存于第:%aa% 行
- %kj01%
- %kj01%
- set /a list5-=1
- pause
- goto :EOF
复制代码 读出数据并存了变量。可是怎么修改数据 然后储存到原来的位置呢?
本帖仅用于有规定规律列的,列数可以修改。本帖仅供参考。 |