中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 19:01
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » 请写一个批处理语句:删除路径字符串中的指定字符
可打印版本  1,112 / 14
第1楼 lxllxl 发表于 2008-09-17 19:04
初级用户 发帖 17 积分 38
请写一个批处理语句:删除路径字符串中的指定字符
有一个可变路径字符,要求对该路径做如下处理:
1、检测该路径是否带有盘符,如果带将盘符及其后的"\"取掉
2、检测第一个及最后一个字符是否为"\",如果是取掉

如原三个为:
D:\CZY\ czy\cc\ \cc\xx
处理后为
czy czy\cc cc\xx

语句尽量简洁,最好是一条语句。
谢谢

───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"请写一个批处理语句"不利于论坛搜索
处罚:因属论坛新人,不予积分处罚
提示:请访问 {7326}论坛新手必读,所有人的基本行为准则
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-9-24 at 09:31 PM ]
第2楼 hackate 发表于 2008-09-17 19:12
中级用户 发帖 125 积分 228
楼主的意思实在难于琢磨..不知道具体是要怎么操作..
你是要在程序里随时获取当前路径,然后对当前路径进行如上说的样操作呢.
还是路径保存在某文件里面,要提取操作..具体真不知道你要怎么处理.请表明白.
第3楼 lxllxl 发表于 2008-09-17 19:25
初级用户 发帖 17 积分 38
路径赋予一个环境变量,只要写出对该变量的处理语句就行了。

[ Last edited by lxllxl on 2008-9-17 at 07:27 PM ]
第4楼 HAT 发表于 2008-09-17 19:55
版主 发帖 5,017 积分 9,023
第5楼 hackate 发表于 2008-09-17 19:58
中级用户 发帖 125 积分 228
@echo off
setlocal enabledelayedexpansion
set "str=\CZY\csd\"
set "str=!str:*:=!"
if "!str:~0,1!"=="\" (
set "str=!str:~1!"
if "!str:~-1!"=="\" (
set "str=!str:~0,-1!"
))
echo !str!
pause

代码比较多.就目前不用第三方程序,似乎没有一行代码可以完成的吧,可能我比较菜
第6楼 lxllxl 发表于 2008-09-17 20:00
初级用户 发帖 17 积分 38
谢谢4楼上的朋友..
可是我在测试时输入\CZY\CCX时返回还是\CZY\CCX而不是CZY\CCX

能不能再改改?
第7楼 HAT 发表于 2008-09-17 20:05
版主 发帖 5,017 积分 9,023
Re 6楼
你在顶楼的提问中,并未提出这个要求。
第8楼 lxllxl 发表于 2008-09-17 20:06
初级用户 发帖 17 积分 38
谢谢五楼的朋友..虽然语句比较多,但测试没发现什么问题...看的我都头大...
第9楼 lxllxl 发表于 2008-09-17 20:09
初级用户 发帖 17 积分 38
谢谢两位朋友帮我解决了问题...更感谢HAT提供精炼的语句..闲时再研究研究代码.

HAT..HAT...你是我的偶像

[ Last edited by lxllxl on 2008-9-17 at 08:15 PM ]
第10楼 lxllxl 发表于 2008-09-17 20:57
初级用户 发帖 17 积分 38
7楼提供的语句当CZY\CCX时返回还是CCX而不是CZY\CCX
请HAT再看看..
第11楼 HAT 发表于 2008-09-17 21:02
版主 发帖 5,017 积分 9,023
Re 10楼
第12楼 lxllxl 发表于 2008-09-18 12:06
初级用户 发帖 17 积分 38
以上语句在WINDOWS下测试是正确的.可是在纯DOS模式下测试出错了..返回为空.不知道什么原因..应该怎么解决?

如果是command的问题那拿什么替换?我用的是论坛MSDOS7.1中的COMMAND.COM..在线等,有知道的帮帮

[ Last edited by lxllxl on 2008-9-18 at 12:30 PM ]

附件
未命名.GIF (4.09 KiB)
第13楼 chenall 发表于 2008-09-18 13:37
银牌会员 发帖 469 积分 1,276 来自 福建泉州
没有写清楚使用坏境,上面的语句是WINNT下的CMD才能用的.纯DOS是不能用的.
第14楼 lxllxl 发表于 2008-09-18 17:44
初级用户 发帖 17 积分 38
那在纯DOS模式下应该怎么实现如题功能?
第15楼 lxllxl 发表于 2008-09-19 17:43
初级用户 发帖 17 积分 38
使用外部命令STRINGS已解决。。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023