中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 08:14
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 请问 如何 获取字符串的子串
可打印版本  1,733 / 15
第1楼 biwier 发表于 2007-11-01 12:07
初级用户 发帖 34 积分 98
请问 如何 获取字符串的子串
我用for /F "usebackq delims=:" %%i in (`date /T`) do set ddtmp=%%i:~-10%
获取 月-日-年 不成功 郁闷
这里~-10%似乎不起作用
第2楼 abcd 发表于 2007-11-01 12:25
银牌会员 发帖 739 积分 1,436
楼主的date输出格式 是什么样子的??
第3楼 dikex 发表于 2007-11-01 13:14
高级用户 发帖 366 积分 788
试试这个

第4楼 biwier 发表于 2007-11-01 16:09
初级用户 发帖 34 积分 98
thur 10-31-2007
第5楼 biwier 发表于 2007-11-01 16:10
初级用户 发帖 34 积分 98
Originally posted by dikex at 2007-11-1 13:14:
试试这个



这个太复杂了。。。
你的环境不是简单的ms-dos吧 在我的dos下运行不了
%date "...."
第6楼 abcd 发表于 2007-11-01 16:24
银牌会员 发帖 739 积分 1,436
echo %date:* =%

echo %date:~6%
第7楼 biwier 发表于 2007-11-01 16:32
初级用户 发帖 34 积分 98
谢谢abcd

不过,我写到batch里面好像不行了。。。
for /F "usebackq delims= " %%i in (`echo %date:* =%`) do set ddtmp=%%i
感觉我原来的方法也行,可能需要一个cmd /d 命令扩展delay啥的




对了,,能否说说这是什么语法?怎么查到这样的语法讲解??
第8楼 abcd 发表于 2007-11-01 16:37
银牌会员 发帖 739 积分 1,436
我的意思是不需要for啦,直接echo出来就行了。可以直接
%date:~6%可以直接当变量使用的。
第9楼 biwier 发表于 2007-11-01 16:55
初级用户 发帖 34 积分 98
恩,有的console下可以,有的却显示%i ,暂时还不知道原因
第10楼 abcd 发表于 2007-11-01 17:01
银牌会员 发帖 739 积分 1,436
用for的话

for /f "tokens=1*" %%i in ('date /t') do @echo %%j
第11楼 biwier 发表于 2007-11-01 17:53
初级用户 发帖 34 积分 98
Originally posted by abcd at 2007-11-1 17:01:
用for的话

for /f "tokens=1*" %%i in ('date /t') do @echo %%j




这一步我也能做到
但把 echo 换成 set xx=%j:~-10%
好像就不可以了
我再try 谢谢
第12楼 abcd 发表于 2007-11-01 18:02
银牌会员 发帖 739 积分 1,436
搞清楚

变量%%j和变量%j%是不一样的

%%j只能在for中使用,而且只能扩展,不能截取

而%j%只能截取或替换,而没有扩展
第13楼 biwier 发表于 2007-11-01 19:06
初级用户 发帖 34 积分 98
醍醐灌顶阿!!!3x
第14楼 dikex 发表于 2007-11-01 19:25
高级用户 发帖 366 积分 788
Originally posted by biwier at 2007-11-1 04:10 PM:


这个太复杂了。。。
你的环境不是简单的ms-dos吧 在我的dos下运行不了
%date "...."


ms-dos?dos?
记得这些里面的for都没有/f参数的,所以你的不会时ms-dos;
2000、xp等里面的cmd是命令提示符不是dos,和dos有很大区别的。

而我的运行环境是xp sp2 pro;

默认的日期格式是:2007-11-01 星期四
修改日期格式为:Thu 2007-11-01

在命令行和批处理里面两种日期格式都可以通过
第15楼 RocheChild 发表于 2007-11-01 22:35
初级用户 发帖 44 积分 110
Originally posted by dikex at 2007-11-1 07:25 PM:


ms-dos?dos?
记得这些里面的for都没有/f参数的,所以你的不会时ms-dos;
2000、xp等里面的cmd是命令提示符不是dos,和dos有很大区别的。

而我的运 ...



我在家里的机器上测试了,你的是可以的 ,在公司的时候是写了脚本里的,在英文版os上测试的
不过你写了三个句子也太复杂了....高手考虑得太全面了^_^


Rochechild=biwier
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023