Board logo

标题: 求助关于批处理器读取TXT文件并替换的办法! [打印本页]

作者: heyoug     时间: 2008-4-5 10:19    标题: 求助关于批处理器读取TXT文件并替换的办法!

2008040417380252754001
2008040417350252754001
2008040317350252754001
2008040217350252754001
2008040117350252754001
2008040113230252754001
2008040213230252754001
2008040313230252754001
2008040413230252754001
2008040411420252754001
2008040311420252754001
2008040211420252754001
2008040111420252754001
2008040111400252754001
2008040407230252754001
2008040307230252754001
2008040207230252754001
2008040107220252754001


TXT文件内容格式如上,如最后一行表示:2008年04月01日07:22分
我想请教高手,如何提取每行中的这个时间(07:22),并通过判断把他们修改为自己指定的一个范围内的随机数字。
谢谢!
作者: slore     时间: 2008-4-5 12:16
set /?



也可以为扩展名指定子字符串。

    %PATH:~10,5%

会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。

    %PATH:~-10%

会提取 PATH 变量的最后十个字符。

    %PATH:~0,-2%

会提取 PATH 变量的所有字符,除了最后两个。
作者: heyoug     时间: 2008-4-5 14:22
非常感觉!
作者: xtanbmy     时间: 2008-4-7 19:03
看不懂啊。不过学习了。
作者: nipo     时间: 2008-4-26 14:37
看不懂,没法用。
作者: pusofalse     时间: 2008-4-26 15:24
根本没看懂题目,没办法写。。。。 指定范围是 几到几?~能够说得详细一点的话就好了。
作者: 26933062     时间: 2008-4-26 17:50

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (a.txt) do (
  set var=%%a
  set /a s=!random!%%24,f=!random!%%60
  set s=0!s!&set f=0!f!
  echo !var:~0,8!!s:~-2!!f:~-2!!var:~12!
)
pause

作者: nipo     时间: 2008-4-26 19:11
26933062的这个完整、清晰,回去好好学习一下。