|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『楼 主』:
请写一个批处理语句:删除路径字符串中的指定字符
有一个可变路径字符,要求对该路径做如下处理:
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 ]
|
|
2008-9-17 19:04 |
|
|
hackate
中级用户
  
积分 228
发帖 125
注册 2008-8-25
状态 离线
|
『第
2 楼』:
楼主的意思实在难于琢磨..不知道具体是要怎么操作..
你是要在程序里随时获取当前路径,然后对当前路径进行如上说的样操作呢.
还是路径保存在某文件里面,要提取操作..具体真不知道你要怎么处理.请表明白.
|
|
2008-9-17 19:12 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
3 楼』:
路径赋予一个环境变量,只要写出对该变量的处理语句就行了。
[ Last edited by lxllxl on 2008-9-17 at 07:27 PM ]
|
|
2008-9-17 19:25 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
4 楼』:
@echo off
set str=D:\CZY\ czy\cc\ \cc\xx\
if "%str:~-1%" equ "" set str=%str:~0,-1%
set str=%str:*:\=%
|

|
|
2008-9-17 19:55 |
|
|
hackate
中级用户
  
积分 228
发帖 125
注册 2008-8-25
状态 离线
|
『第
5 楼』:
@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
代码比较多.就目前不用第三方程序,似乎没有一行代码可以完成的吧,可能我比较菜
|
|
2008-9-17 19:58 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
6 楼』:
谢谢4楼上的朋友..
可是我在测试时输入\CZY\CCX时返回还是\CZY\CCX而不是CZY\CCX
能不能再改改?
|
|
2008-9-17 20:00 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
7 楼』:
Re 6楼
你在顶楼的提问中,并未提出这个要求。 @echo off
set str=D:\CZY\ czy\cc\ \cc\xx\
if "%str:~-1%" equ "" set str=%str:~0,-1%
set str=%str:*\=%
|

|
|
2008-9-17 20:05 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
8 楼』:
谢谢五楼的朋友..虽然语句比较多,但测试没发现什么问题...看的我都头大...
|
|
2008-9-17 20:06 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
9 楼』:
谢谢两位朋友帮我解决了问题...更感谢HAT提供精炼的语句..闲时再研究研究代码.  
HAT..HAT...你是我的偶像
[ Last edited by lxllxl on 2008-9-17 at 08:15 PM ]
|
|
2008-9-17 20:09 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
10 楼』:
7楼提供的语句当CZY\CCX时返回还是CCX而不是CZY\CCX
请HAT再看看..
|
|
2008-9-17 20:57 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
11 楼』:
Re 10楼
@echo off
set str=CZY\ czy\cc\ \cc\xx\
if "%str:~-1%" equ "" set str=%str:~0,-1%
set str=%str:*:\=%
if "%str:~0,1%" equ "" set str=%str:~1%
|

|
|
2008-9-17 21:02 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
12 楼』:
以上语句在WINDOWS下测试是正确的.可是在纯DOS模式下测试出错了..返回为空.不知道什么原因..应该怎么解决?
如果是command的问题那拿什么替换?我用的是论坛MSDOS7.1中的COMMAND.COM..在线等,有知道的帮帮
[ Last edited by lxllxl on 2008-9-18 at 12:30 PM ]
附件
1: 未命名.GIF (2008-9-18 12:20, 4.09 K,下载次数: 1)
|
|
2008-9-18 12:06 |
|
|
chenall
银牌会员
    
积分 1276
发帖 469
注册 2002-12-23 来自 福建泉州
状态 离线
|
『第
13 楼』:
没有写清楚使用坏境,上面的语句是WINNT下的CMD才能用的.纯DOS是不能用的.
|

|
|
2008-9-18 13:37 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
14 楼』:
那在纯DOS模式下应该怎么实现如题功能?
|
|
2008-9-18 17:44 |
|
|
lxllxl
初级用户
 
积分 38
发帖 17
注册 2008-9-11
状态 离线
|
『第
15 楼』:
使用外部命令STRINGS已解决。。
|
|
2008-9-19 17:43 |
|