![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:28 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教:如何从一个输入的完整路径名,分别取得盘符、目录 |
| 可打印版本 3,783 / 10 |
| 第1楼 lianjiang2004 | 发表于 2006-11-25 11:14 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
请教:如何从一个输入的完整路径名,分别取得盘符、目录 请教:如何从一个输入的完整路径名,分别取得盘符、目录和文件。
比如,通过键盘输入"f:\12\3456\789.bat",赋给一个变量a,然后从a获得盘符给变量b,目录12\3456给c,789.bat给变量d。 这功能如何实现?谢谢。 |
|
| 第2楼 lxmxn | 发表于 2006-11-25 11:34 |
| 版主 发帖 4,938 积分 11,386 | |
|
|
|
| 第3楼 lianjiang2004 | 发表于 2006-11-25 11:52 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
多谢回复。可能是我没说清楚。
并不是硬盘上在我输入的完整路径上,存在那个文件。只是把输入的作为一个变量,然后分别获得盘符,路径及文件名赋给其它变量。 相当于 set a=e:\12\3456\789.bat 我想得到:b=e: c=\12\3456\ d=789.bat |
|
| 第4楼 lianjiang2004 | 发表于 2006-11-25 11:55 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
多谢,可以了,我加了引号就行了。,(%FILEPATH%)改成,(“%FILEPATH%”)
再次感谢。 实在不好意思,这段代码我看不明白,能不能麻烦你给解释一下? [ Last edited by lianjiang2004 on 2006-11-25 at 11:59 AM ] |
|
| 第5楼 lxmxn | 发表于 2006-11-25 13:27 |
| 版主 发帖 4,938 积分 11,386 | |
|
Re : lianjiang2004 这段批处理工作原理: 首先用"set/p"来接受用户的键盘输入,然后将其输入的值赋给变量"FILEPATH",再利用for命令来分析刚刚输入的字符串,即%FILEPATH%的值,依次将它的各个属性赋值给a、b、c,然后显示变量a、b、c的值。 如果对for命令还不怎么熟悉,可以看看for的帮助文档,也可以搜索一下论坛里面的好文章,多看几遍。 |
|
| 第6楼 lianjiang2004 | 发表于 2006-11-25 21:00 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
感觉for好复杂,也很厉害。现在只知道点皮毛。目前只会象下面这种。一定好好学习。有问题,再请教。
-------------------- REM 根据设定文件的盘符+路径文件名(如e:\123\45\sys.gho),变成分区号+路径文件名(1:5:\123\45\sys.gho)。 for /f "delims=: tokens=1,2" %%i in (tools\set.ini) do ( set drive=%%i set "the_path=%%j" ) for /f "tokens=2-3" %%i in ('type c:\GHSTSTAT.TXT ^| find "Desc"') do ( if /i "%%i"=="%drive%:" set partition=%%j ) echo. echo 当前设置为:%drive%:%the_path% 即%partition%:%the_path% [ Last edited by lianjiang2004 on 2006-11-25 at 09:05 PM ] |
|
| 第7楼 redtek | 发表于 2006-11-25 21:19 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
lxmxn兄的讲解真是热情、耐心,向lxmxn学习~:)
普天之下、cn-dos.net之上就需要像lxmxn兄这么热心的人,创造和谐社会、和谐论坛~:) |
|
| 第8楼 electronixtar | 发表于 2006-11-26 01:28 |
| 铂金会员 发帖 2,672 积分 7,493 | |
呵呵,其实 redtek 也很热心的嘛 |
|
| 第9楼 ccwan | 发表于 2006-11-26 01:38 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
赞!各位都是古道热肠。
|
|
| 第10楼 yuan53770 | 发表于 2010-10-03 00:40 |
| 初级用户 发帖 40 积分 67 | |
|
for命令真是要好好看看的,我也是刚看了
|
|
| 第11楼 sxychxj | 发表于 2010-10-05 10:10 |
| 新手上路 发帖 4 积分 5 | |
|
看的迷糊
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |