无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3868|回复: 7
打印 上一主题 下一主题

谁有"1999年10月"转化成"一九九九年十月"这样功能的批处理?

[复制链接]
跳转到指定楼层
1#
发表于 2007-6-5 15:40:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,别人急要的先谢了
网上的都是阿拉伯数字转为大写金额的

[ 本帖最后由 wjh6088 于 2007-6-5 03:41 PM 编辑 ]
2#
发表于 2007-6-5 22:30:15 | 只看该作者
  你要的是这样的代码吧?

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str=零一二三四五六七八九
  4. for /f "tokens=1-3 delims=-:/" %%i in ("%date%") do set str1=%%i%%j%%k
  5. for /l %%i in (0,1,7) do (
  6.     set var=!str1:~%%i,1!
  7.     call set day=!day!%%str:~!var!,1%%
  8.     set /a num+=1
  9.     if !num! equ 4 set day=!day!年
  10.     if !num! equ 6 set day=!day!月
  11. )
  12. set day=%day:年零=年%
  13. echo      系统当前日期是:%day:月零=月%日
  14. pause>nul
复制代码
回复

使用道具 举报

3#
 楼主| 发表于 2007-6-5 23:07:10 | 只看该作者
差不多是这个,是拿来处理文本文件的,还能改一改吗
最好以零开头的自动去除零.
谢谢了
回复

使用道具 举报

4#
发表于 2007-6-5 23:49:03 | 只看该作者
  月份和日期前面的零都已经去掉了啊,你还想要做成什么样的?要不然把你要处理的文本选择有代表性的内容发出来看看吧,顺便把你的要求完整地描述一遍。
回复

使用道具 举报

5#
发表于 2007-6-6 06:49:46 | 只看该作者
支持楼上的,要求尽可能一次提清楚。
回复

使用道具 举报

6#
发表于 2007-6-6 07:31:44 | 只看该作者
  2楼的代码大写格式不统一,并且不能正确处理10、20,修改一下:
  1. @echo off
  2. :: 把系统日期转换成大写
  3. setlocal enabledelayedexpansion
  4. set str=〇一二三四五六七八九

  5. :main
  6. cls
  7. set day=
  8. for /f "tokens=1-3 delims=-:/" %%i in ("%date%") do set str1=%%i%%j%%k
  9. for /l %%i in (0,1,7) do (
  10.     set var=!str1:~%%i,1!
  11.     call set day=!day!%%str:~!var!,1%%
  12. )

  13. set str1=%day:~0,4%年%day:~4,1%十%day:~5,1%月%day:~6,1%十%day:~7,1%日
  14. set str1=%str1:〇十=%
  15. set str1=%str1:一十=十%
  16. set str1=%str1:十〇=十%

  17. echo      系统当前日期是:%str1%
  18. pause>nul
  19. goto main
复制代码

[ 本帖最后由 namejm 于 2007-6-6 01:17 PM 编辑 ]
回复

使用道具 举报

7#
 楼主| 发表于 2007-6-6 17:55:35 | 只看该作者
对不起,昨天没时间来回复了,感谢楼上的热情解答
待处理的文本内容如下
1999.12.3
1958.2.12
1987.5.24
1988.12.5

不过已经通过excel转换好了,算是交差了,不过还是批处理比较简洁吧
楼上的代码我自己修改看看,3q
回复

使用道具 举报

8#
发表于 2007-6-7 19:31:48 | 只看该作者
  把6楼的代码稍做改动就可以了。

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str=〇一二三四五六七八九
  4. for /f "tokens=1-3 delims=." %%i in (test.txt) do (
  5.     set /a y=%%i,m=10%%j,d=10%%k
  6.     call :change
  7. )
  8. pause
  9. exit

  10. :change
  11. set day=
  12. set str1=%y%%m:~-2%%d:~-2%
  13. for /l %%i in (0,1,7) do (
  14.     set var=!str1:~%%i,1!
  15.     call set day=!day!%%str:~!var!,1%%
  16. )
  17. set str1=%day:~0,4%年%day:~4,1%十%day:~5,1%月%day:~6,1%十%day:~7,1%日
  18. set str1=%str1:〇十=%
  19. set str1=%str1:一十=十%
  20. set str1=%str1:十〇=十%
  21. echo %str1%
  22. goto :eof
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-20 17:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表