中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 23:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 有关切换盘符及路径的问题 查看 883 回复 4
楼 主 有关切换盘符及路径的问题 发表于 2008-10-08 21:34 ·  中国 浙江 温州 电信
初级用户
积分 29
发帖 15
注册 2008-08-16 22:42
17年会员
UID 123376
性别 男
状态 离线
echo 如果找到程序,将会直接帮您打开
set /p dexe=请输入要运行的程序名,找到程序后将直接运行
for %%i in (c,d,e,f,g) do for /f "delims=" %%n in ('dir /s /b %%i:\%dexe%.exe') do start "" "%%n"
pause >nul
这是我在我们论坛里找到的代码,用来查找打开程序。
但是遇上一些特殊的程序
需要先切换到该程序所在路径下才能运行的那种程序时候,就会出错
比如:
d:\123\123\123.exe
会出错
但改成
d:
d:\123\123\
123.exe
就没问题了。
声明:我是要让
set /p dexe=请输入要运行的程序名,找到程序后将直接运行
for %%i in (c,d,e,f,g) do for /f "delims=" %%n in ('dir /s /b %%i:\%dexe%.exe') do start "" "%%n"
pause >nul
这段批含有切换盘符与路径的功能,而不是手动去输入
X:\XXX\XXX.exe
因为用这个批的目地就是在根本不知道这个EXE文件在什么盘什么路径
的情况下,让这个批帮助我去打开
请问:该如何修改这个批呢?

[ Last edited by 664109514 on 2008-10-9 at 00:13 ]
2 发表于 2008-10-08 22:10 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
找到路径后,用
cd /d 路径
然后再执行。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2008-10-08 23:56 ·  中国 浙江 温州 电信
初级用户
积分 29
发帖 15
注册 2008-08-16 22:42
17年会员
UID 123376
性别 男
状态 离线
Originally posted by Climbing at 2008-10-8 10:10 PM:
找到路径后,用
cd /d 路径
然后再执行。



正如楼上所说,cd /d
但是怎么才能让批实现CD /D 路径 呢?
4 发表于 2008-10-09 01:03 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
echo 如果找到程序,将会直接帮您打开
set /p dexe=请输入要运行的程序名,找到程序后将直接运行
for %%i in (c,d,e,f,g) do (
for /f "delims=" %%n in ('dir /s /b %%i:\%dexe%.exe') do (
cd /d "%%~dpn"
start "" "%%~nxn"
goto :eof
)
)
5 发表于 2008-10-09 02:10 ·  中国 浙江 温州 电信
初级用户
积分 29
发帖 15
注册 2008-08-16 22:42
17年会员
UID 123376
性别 男
状态 离线
问题得到解决了,非常感谢版主的帮助。
论坛跳转: