|
yanlihua
初级用户
积分 173
发帖 78
注册 2005-12-30
状态 离线
|
『楼 主』:
如何去掉最后一个路径符号“\"
对于输入的如:E:\或E:\ABC\中的最后一个“\“如何去掉让使输入变为E:或E:\ABC。另外如何判断输入最后是否有"\"?
|
|
2006-11-6 23:12 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
2 楼』:
你怎么获得的那个用户输入的路径呢?
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-11-8 07:28 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
3 楼』:
@echo off&setlocal ENABLEDELAYEDEXPANSION&ECHO[
set /p p= 请输入路径:
ECHO]&set p=%p%#
if "%p:~-2%"=="\#" (echo 路径最后带有"\"符号。 &&echo. && goto :a) else (echo 路径最后没有带"\"符号。&& echo. && pause && goto :eof)
:a
echo 去掉最后的"\"的路径为: !p:%p:~-2%=!
set "ph=!p:%p:~-2%=!"
echo.&echo 你可以直接用%%ph%%调用这个路径。
pause>nul
|
|
2006-11-8 13:43 |
|
|
vkill
金牌会员
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
『第
4 楼』:
if "%p:~-2%"=="\#" (echo %P%|sed "s/.$//" |more>temp.txt)
set /p p=<temp.txt
|
|
2006-11-9 02:08 |
|
|
yanlihua
初级用户
积分 173
发帖 78
注册 2005-12-30
状态 离线
|
『第
5 楼』:
谢谢vkil、lxmxn
我很菜。请问:"%p:~-2%"=="\#" 和set /p p= 请输入路径:是什么意思?
|
|
2006-11-11 05:43 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
6 楼』:
判断最后一个字符是不是\,若是则删除的批处理代码如下:
@echo off
set str=e:\abc\
if "%str:~-1%"=="\" set str=%str:~0,-1%
echo %str%
pause 更详细的解释请参考这个帖子的10F。通过BAT读取文本的前几个字符
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-11-11 07:13 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by yanlihua at 2006-11-11 05:43:
谢谢vkil、lxmxn
我很菜。请问:"%p:~-2%"=="\#" 和set /p p= 请输入路径:是什么意思? |
|
这里的"%p:~-2%"=="\#"是判断变量p最后两个字符是不是为"\#",然后根据判断的结果来执行相应的语句。
"set /p p=请输入路径"是指让用户输入一串字符,并且把输入的字符串赋值给变量p,同时屏幕显示提示信息"请输入路径"。
|
|
2006-11-11 12:41 |
|