中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 02:22
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 分离问题
可打印版本  870 / 14
第1楼 hkymadmin 发表于 2007-04-09 11:11
初级用户 发帖 19 积分 44
分离问题
例:有一文本,内容是
C:\windows\system32\XXX.exe

我想分离出XXX.EXE前面的目录,
该怎样写》?》
第2楼 hkymadmin 发表于 2007-04-09 11:11
初级用户 发帖 19 积分 44
谢谢
第3楼 chenall 发表于 2007-04-09 11:16
银牌会员 发帖 469 积分 1,276 来自 福建泉州
请查看for的帮助.
for /?
最后面有你要的答案
第4楼 hkymadmin 发表于 2007-04-09 12:03
初级用户 发帖 19 积分 44
看了两天了,还是没有搞出什么成果,请高手指点一下
第5楼 chenall 发表于 2007-04-09 15:50
银牌会员 发帖 469 积分 1,276 来自 福建泉州
提供一个例子吧


  1. @echo off
  2. for /f %%i in ("C:\windows\system32\XXX.exe") do echo %~dpi
  3. pause
chenall 发表于: 2007-04-09 02:41


[ Last edited by chenall on 2007-4-9 at 03:51 PM ]
第6楼 lxmxn 发表于 2007-04-09 16:13
版主 发帖 4,938 积分 11,386




[ Last edited by lxmxn on 2007-4-9 at 12:54 PM ]
第7楼 everest79 发表于 2007-04-09 21:27
金牌会员 发帖 1,127 积分 2,564
lxmxn兄:
你的例子中%~dpi会扩展为%cd%而不是文件的正确路径

call :pathx C:\windows\system32\XXX.exe
echo %pathx%&pause
:pathx
set pathx=%~dp1&goto :eof
第8楼 lxmxn 发表于 2007-04-10 01:56
版主 发帖 4,938 积分 11,386

To everest79:

不好意思,掉了一个%(开始写的是echo %~dpi),现在已经改了。

我的这个方法是可以的,只要file.ext文件中的内容是一个路径形式,就可以扩展出来,而不管文件是否真实的存在。
第9楼 hkymadmin 发表于 2007-04-10 05:45
初级用户 发帖 19 积分 44
虽然路径显示出来了,但是怎样设置我分离出的路径成为变量 a呢?
第10楼 fjcase 发表于 2007-04-10 06:02
初级用户 发帖 23 积分 53
@echo off
for /f %%i in ("D:\cuteftp\CUTFTP32.EXE") do set a=%%~dpi
echo %a%
pause
第11楼 lxmxn 发表于 2007-04-10 07:38
版主 发帖 4,938 积分 11,386

楼上正解,只需设置一个变量即可。
第12楼 hkymadmin 发表于 2007-04-10 08:53
初级用户 发帖 19 积分 44
谢谢你们
第13楼 hkymadmin 发表于 2007-04-10 08:56
初级用户 发帖 19 积分 44
能详细讲解一下 %%~dpi ?我不明白着个是什么意思
第14楼 dikex 发表于 2007-04-10 10:08
高级用户 发帖 366 积分 788
for /?
翻到最下面
第15楼 everest79 发表于 2007-04-11 06:38
金牌会员 发帖 1,127 积分 2,564
我以为file.ext就是完整字符类
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023