[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&setlocal enabledelayedexpansion
  2. cd /d F:\soft\log&set /a n=100
  3. for %%a in (一 二 三 四 五 六 七 八 九 十 十一 十二) do set /a n+=1&set "%%a月=!n:~1!"
  4. (for /f "tokens=1-4*" %%a in (分析表.log) do echo %%a %%d-!%%c!-%%b %%e)>$
  5. move $ 分析表.log
  6. start 分析表.log
  7. pause>nul
复制代码
***共同提高***

TOP

本帖最后由 FIR1987 于 2011-5-3 22:12 编辑

我错了 。。。。

是文本里的内容
F:\soft\log\分析表.log:星期四 14 十月 2010  Timing, TOTAL TIME (CREATE CUBE),10:17:45  
F:\soft\log\分析表.log:星期五 15 十月 2010  Timing, TOTAL TIME (CREATE CUBE),10:17:45  
F:\soft\log\分析表.log:星期六 16 十月 2010  Timing, TOTAL TIME (CREATE CUBE),10:17:45  

现在我希望将14 十月 2010  处理为2010-10-14  14 十月 2010  多个日期 不是就这一个 呵呵

我前面的问题都是和这个log相关的 呵呵 这个是一个叫cognos工具生cube产生的日志
目前是一个批处理初学者,问的傻问题还请多多见谅

TOP

8# batman


我还以为是要处理文本里的内容呢,是我问题想复杂了。。。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 zm900612 于 2011-4-28 14:55 编辑

看错,此处当我没说...
不过这种格式的系统日期还是第一次见

TOP

本帖最后由 batman 于 2011-4-28 15:43 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set /a n=100
  3. for %%a in (一 二 三 四 五 六 七 八 九 十 十一 十二) do set /a n+=1&set "%%a月=!n:~1!"
  4. for /f "tokens=1-3" %%a in (%date%) do echo %%c-!%%b!-%%a
  5. pause>nul
复制代码
***共同提高***

TOP

本帖最后由 hanyeguxing 于 2011-4-28 14:43 编辑

你这里所说的动态是什么意思?是当前日期?还是文本中有很多这样的日期但日期不同?那么每行最多有多少个这样的日期?
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

第一行str变量随便改,格式不变都不会错

TOP

谢谢 憨豆
我只是举个例子 14 十月 2010  所以这个不是静态的
所以貌似上面的行不通吧
目前是一个批处理初学者,问的傻问题还请多多见谅

TOP

非要用正则得用sed或者别的外部命令

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set str=14 十月 2010
  3. for %%a in ( 十二 十一 十 九 八 七 六 五 四 三 二 一) do (
  4.    set /a "n-=1-^!n*13"
  5.    for %%z in ("%%a月=!n!") do set str=!str:%%~z!
  6. )
  7. for /f "tokens=1-3" %%a in ("%str%") do echo %%c-%%b-%%a
  8. pause
复制代码

TOP

这个日期是变的啊 不是都是当天的 呵呵
目前是一个批处理初学者,问的傻问题还请多多见谅

TOP

返回列表