无忧启动论坛
标题:
谁能帮忙看下这个字符串截取命令错在哪里了?
[打印本页]
作者:
lhc0688
时间:
2012-3-3 09:05
标题:
谁能帮忙看下这个字符串截取命令错在哪里了?
@echo off
set str=2-03-12
echo %str:~0,1%
-----------------------------------------
执行结果总是显示 echo is on
想把2-03-12转变成2012年03月2日,应该怎样写呢?求指点,谢谢!
作者:
lhc0688
时间:
2012-3-3 09:47
@echo off
set str1=abc
set str2=def
if %str1% neq %str2% echo 不相等 else echo 相等
----------------------------------
这一句也一样,只要跟字符串有关 就出错,是什么原因?
作者:
lhc0688
时间:
2012-3-3 10:17
折腾半天,自己找到原因了,原来这样的语法,是基于win98 dos的,不能在纯dos下执行
唉,dos真麻烦。
作者:
lhc0688
时间:
2012-3-3 12:25
真搞不定,头疼!
哪位朋友帮忙看下,这样的命令到底应该怎样写?
作者:
527104427
时间:
2012-3-3 12:37
原帖由
lhc0688
于 2012-3-3 12:25 发表
真搞不定,头疼!
哪位朋友帮忙看下,这样的命令到底应该怎样写?
把
@echo off
去掉
作者:
lhc0688
时间:
2012-3-3 14:12
按楼上说的好像还不行。
作者:
pznpt
时间:
2012-3-3 14:45
建议楼主先学会纯dos下的基本语法。纯dos下set命令没有cmd窗口的set命令功能那么强大,字符串截取需要用到第三方工具(例如strings)才行的。
--------------分割线-----------------
@echo off
set str=2-03-12
strings aa=mid %str%,1,1
set aa=201%aa%
strings bb=mid %str%,3,2
strings cc=mid %str%,6,2
set str=%aa%年%bb%月%cc%日
echo %str%
--------------分割线-----------------
关于strings,请以关键字strings在本论坛搜索即可得到。
作者:
lhc0688
时间:
2012-3-3 15:08
谢谢7楼的朋友!看来是这样的。
不过还有点小问题:日期格式是日-月-年(2-03-12),这是否需要判断日期的长度,如果需要,是不是这样写:
if strings length%str%=7 set str1=0%str%
把原日期格式变为:02-03-12,然后再处理?
作者:
pznpt
时间:
2012-3-3 15:38
标题:
回复 #8 lhc0688 的帖子
strings len=length %str%
if "%len%"=="7" set str=0%str%
作者:
lhc0688
时间:
2012-3-3 19:14
谢谢pznpt,解决了困扰一整天的难题。
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/)
Powered by Discuz! X3.3