[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 zm900612 于 2011-5-26 19:22 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p input=请输入年月
  3. for /f "skip=12 tokens=1-3* delims=月日- " %%a in ('type %~s0^&echo test %input%') do (
  4. set /a m=%%b+100,d=%%c+100
  5. if defined #!m:~-2!!d:~-2! set c=#
  6. set #!m:~-2!!d:~-2!!c!=%%a %%b月%%c日-%%d
  7. )
  8. for /f "tokens=1,2* delims== " %%a in ('set #') do (
  9. if %%b==test echo !xz!
  10. set xz=%%b %%c
  11. )
  12. pause&exit
  13. 摩羯座 1月1日-1月19日
  14. 水瓶座 1月20日-2月18日
  15. 双鱼座 2月19日-3月20日
  16. 白羊座 3月21日-4月19日
  17. 金牛座 4月20日-5月20日
  18. 双子座 5月21日-6月21日
  19. 巨蟹座 6月22日-7月22日
  20. 狮子座 7月23日-8月22日
  21. 处女座 8月23日-9月22日
  22. 天枰座 9月23日-10月23日
  23. 天蝎座 10月24日-11月22日
  24. 射手座 11月23日-12月21日
  25. 摩羯座 12月22日-12月31日
复制代码
以上第二次修改

TOP

本帖最后由 zm900612 于 2011-5-26 19:24 编辑

6# 随风


原先忽略了变量重名致错的可能,已修改

10# 随风


确实,这回测试无误了,顺便把输出改成了楼主要求的格式
另外说一句,plp的思路确实够简明

TOP

12# 随风


一样的,只是我把跨年的魔蝎座分为两部分,这样可以很简单地降低工作量...

TOP

本帖最后由 zm900612 于 2011-5-28 12:20 编辑

findstr版:
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p input=请输入年月
  3. for /f "tokens=1,2 delims=-" %%a in ("%input%") do (
  4. for /f "tokens=1-3* delims=月日 " %%c in ('
  5. findstr /rc:"[^'-Z].*[ \-]%%a月" %~s0') do (
  6. if defined next set xz=%%c %%d月%%e日%%f
  7. if not defined xz (
  8. if %%b lss %%e (
  9. set next=.
  10. ) else set xz=%%c %%d月%%e日-%%f
  11. )
  12. )
  13. )
  14. echo %xz%
  15. pause&exit
  16. 水瓶座 1月20日-2月18日
  17. 摩羯座 12月22日-1月19日
  18. 射手座 11月23日-12月21日
  19. 天蝎座 10月24日-11月22日
  20. 天枰座 9月23日-10月23日
  21. 处女座 8月23日-9月22日
  22. 狮子座 7月23日-8月22日
  23. 巨蟹座 6月22日-7月22日
  24. 双子座 5月21日-6月21日
  25. 金牛座 4月20日-5月20日
  26. 白羊座 3月21日-4月19日
  27. 双鱼座 2月19日-3月20日
  28. 水瓶座 1月20日-2月18日
复制代码
其实是前天晚上写好的,结果昨天忘了发

TOP

返回列表