中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 22:23
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求教:全盘搜索指定目录存在即切换至此目录下 查看 891 回复 4
楼 主 求教:全盘搜索指定目录存在即切换至此目录下 发表于 2010-01-16 20:34 ·  中国 湖北 联通
初级用户
积分 22
发帖 26
注册 2009-12-08 14:36
16年会员
UID 156140
性别 男
状态 离线
for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (if exist "%%D:\%Folder%" set "Target=%%D:\%Folder%")
cd %Target%
这里总是最后的盘下目录。。C: D :E : F:都有同名目录
怎么才能先到D:\%Target%盘的目录运行命令后再到其它盘*:\%Target%的目录运行命令呀最好是询问下要不要搜索下个盘
2 发表于 2010-01-16 21:49 ·  中国 北京 阿里云BGP服务器
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
没测试...
@echo off
setlocal enabledelayedexpansion
for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist "%%D:\%Folder%" (
cd /d "%%D:\%Folder%"
rem 在这里插入要运行的代码...
set in=&set /p in=回车继续,任意字符退出...
if not "!in!"=="" exit
)
)
3 发表于 2010-01-18 11:59 ·  中国 湖北 联通
初级用户
积分 22
发帖 26
注册 2009-12-08 14:36
16年会员
UID 156140
性别 男
状态 离线
Originally posted by moniuming at 2010-1-16 21:49:
没测试...
@echo off
setlocal enabledelayedexpansion
for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist "%%D:\%Folder%" (
cd /d "%%D:\%Fold ...

不行呀。。還是顯示最後一個盤符。。
4 发表于 2010-01-18 17:31 ·  中国 四川 成都 电信
初级用户
积分 37
发帖 17
注册 2007-01-27 09:48
19年会员
UID 77838
性别 男
状态 离线
你的设置变量%folder%为你要进入的目录名
5 发表于 2010-01-28 19:01 ·  中国 浙江 杭州 移动
新手上路
积分 5
发帖 4
注册 2005-12-09 08:51
20年会员
UID 46764
状态 离线
试试下面的


--------------------------------------------------------------
@echo off
set path=cdefghijklmnopqrstuvwxyz

:M1

set path2=%path:~1%
set path1=%path:~0,1%
if exist "%path1%:\tools" cd /d "%path1%:\tools" & goto M2
set path=%path2%
goto M1

:M2

---------------------------------------------------------------
论坛跳转: