标题: 分离问题
[打印本页]
作者: hkymadmin
时间: 2007-4-9 11:11
标题: 分离问题
例:有一文本,内容是
C:\windows\system32\XXX.exe
我想分离出XXX.EXE前面的目录,
该怎样写》?》
作者: hkymadmin
时间: 2007-4-9 11:11
谢谢
作者: chenall
时间: 2007-4-9 11:16
请查看for的帮助.
for /?
最后面有你要的答案
作者: hkymadmin
时间: 2007-4-9 12:03
看了两天了,还是没有搞出什么成果,请高手指点一下
作者: chenall
时间: 2007-4-9 15:50
提供一个例子吧
Quote: |
- @echo off
- for /f %%i in ("C:\windows\system32\XXX.exe") do echo %~dpi
- pause
chenall 发表于: 2007-04-09 02:41 |
|
[
Last edited by chenall on 2007-4-9 at 03:51 PM ]
作者: lxmxn
时间: 2007-4-9 16:13
@echo off
for /f %%i in (file.ext) do echo %%~dpi
pause
[
Last edited by lxmxn on 2007-4-9 at 12:54 PM ]
作者: everest79
时间: 2007-4-9 21:27
lxmxn兄:
你的例子中%~dpi会扩展为%cd%而不是文件的正确路径
call :pathx C:\windows\system32\XXX.exe
echo %pathx%&pause
:pathx
set pathx=%~dp1&goto :eof
作者: lxmxn
时间: 2007-4-10 01:56
To everest79:
不好意思,掉了一个%(开始写的是echo %~dpi),现在已经改了。
我的这个方法是可以的,只要file.ext文件中的内容是一个路径形式,就可以扩展出来,而不管文件是否真实的存在。
作者: hkymadmin
时间: 2007-4-10 05:45
虽然路径显示出来了,但是怎样设置我分离出的路径成为变量 a呢?
作者: fjcase
时间: 2007-4-10 06:02
@echo off
for /f %%i in ("D:\cuteftp\CUTFTP32.EXE") do set a=%%~dpi
echo %a%
pause
作者: lxmxn
时间: 2007-4-10 07:38
楼上正解,只需设置一个变量即可。
作者: hkymadmin
时间: 2007-4-10 08:53
谢谢你们
作者: hkymadmin
时间: 2007-4-10 08:56
能详细讲解一下 %%~dpi ?我不明白着个是什么意思
作者: dikex
时间: 2007-4-10 10:08
for /?
翻到最下面
作者: everest79
时间: 2007-4-11 06:38
我以为file.ext就是完整字符类