Board logo

标题: [文本处理] [已解决]批处理如何创建序号? [打印本页]

作者: wolfan    时间: 2011-10-8 01:21     标题: [已解决]批处理如何创建序号?

本帖最后由 wolfan 于 2011-10-19 18:19 编辑

请问如何创建序号。

jl.log,由op.bat写入每次开机时间。格式如下。
%deta% - %time%
想在前面加个序号,每开机一次记录+1。
  1. 1. 2011-10-05 - 23:15
  2. 2. 2011-10-05 - 23:33
复制代码

作者: 601997526    时间: 2011-10-8 08:24

本帖最后由 601997526 于 2011-10-8 15:18 编辑
  1. @echo off
  2. (for /f "delims=." %%i in (jl.log) do set i=%%i)2>nul
  3. set /a i+=1
  4. echo %i%. %date:~0,10% - %time:~0,5% >>jl.log
  5. pause
复制代码

作者: Hello123World    时间: 2011-10-8 14:58

回复 2# 601997526


    第四行,应该写成这样吧
echo %i%.%date:~0,10% - %time:~0,5% >>jl.log
作者: 601997526    时间: 2011-10-8 15:17

回复 3# Hello123World


    确实少写了一个点,最近写P总是会出点错误,感谢指正
作者: hankerer    时间: 2011-10-8 15:58

  1. @echo off
  2. find /c /v ""<jl.log>b.txt
  3. set /p a=<b.txt
  4. del b.txt/q
  5. set /a a+=1
  6. echo %a%. %date:~0,4%-%date:~5,2%-%date:~8,2% - %time:~0,5%>>jl.log
复制代码

作者: wolfan    时间: 2011-10-9 00:56

  1. %date:~0,10%
复制代码
这个0,10%是啥用的?
作者: dnagl    时间: 2011-10-9 23:15

用來顯示的

舉例:
%date:~0,10%-%time:~0,10%
(全部顯示)顯示位元 由左至右數0到10 會變成
2011/09/12-15:00:45.7
顯示位元 由左至右數0到第4個字 會變成
%date:~0,4%-%time:~0,10%
2011-15:00:45.7
作者: applba    时间: 2011-10-10 00:36

::直接数行数
set /a n=1
for  /f  "delims=" %%i in (jl.log) do set /a n=n+1
::n为新行数
作者: Batcher    时间: 2011-10-10 20:52

回复 6# wolfan


批处理set命令截取字符详解
http://bbs.bathome.net/thread-996-1-1.html

批处理set命令变量字符截取点点通
http://bbs.bathome.net/thread-40-1-1.html

批处理新手set命令截取字符练习工具
http://bbs.bathome.net/thread-1149-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2