![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 17:54 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 初学者问关于字符串变量处理的问题 |
| 可打印版本 754 / 3 |
| 第1楼 soli | 发表于 2007-09-03 23:35 |
| 新手上路 发帖 3 积分 8 | |
|
初学者问关于字符串变量处理的问题 批处理脚本实现的功能很简单,但对于初学者的我似乎很费周折,请高手赐教,谢谢。
注意:这是批处理文件中的脚本,而不是在CMD下。 [ Last edited by soli on 2007-9-3 at 11:49 PM ] |
|
| 第2楼 soli | 发表于 2007-09-03 23:49 |
| 新手上路 发帖 3 积分 8 | |
|
似乎不是字符串处理的问题,而是if语句的问题。
setlocal EnableDelayedExpansion set FILELIST= for %%I in (*) do ( set FILENAME=%%I rem 这里打印出的内容是.txt的时候,仍不能进入下面的if语句 echo !FILENAME:~-4%! if !FILENAME:~-4%! == ".txt" ( set FILELIST=%%I;!FILELIST! ) ) echo %FILELIST% >>a.txt endlocal [ Last edited by soli on 2007-9-3 at 11:51 PM ] |
|
| 第3楼 soli | 发表于 2007-09-04 01:19 |
| 新手上路 发帖 3 积分 8 | |
|
已解决
setlocal EnableDelayedExpansion set FILELIST= for %%I in (*) do ( set FILENAME=%%I rem 这里前面的变量必须加双引号 if /I “!FILENAME:~4%!” == ".txt" ( set FILELIST=%%I;!FILELIST! ) else ( echo Not a txt file. ) ) echo %FILELIST% >>a.txt endlocal [ Last edited by soli on 2007-9-4 at 01:21 AM ] |
|
| 第4楼 ThinKing | 发表于 2007-09-04 17:57 |
| 中级用户 发帖 207 积分 471 | |
|
3楼红色引号貌似也不成,因为是中文的。
另一种方法: |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |