Board logo

标题: 求教:全盘搜索指定目录存在即切换至此目录下 [打印本页]

作者: iPoint     时间: 2010-1-16 20:34    标题: 求教:全盘搜索指定目录存在即切换至此目录下

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%的目录运行命令呀最好是询问下要不要搜索下个盘
作者: moniuming     时间: 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:\%Folder%"
    rem 在这里插入要运行的代码...
    set in=&set /p in=回车继续,任意字符退出...
    if not "!in!"=="" exit
  )
)

作者: iPoint     时间: 2010-1-18 11:59


  Quote:
Originally posted by moniuming at 2010-1-16 21:49:
没测试...
[code]@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 ...

不行呀。。還是顯示最後一個盤符。。
作者: zg888     时间: 2010-1-18 17:31
你的设置变量%folder%为你要进入的目录名
作者: moonbeam     时间: 2010-1-28 19:01
试试下面的


--------------------------------------------------------------
@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

---------------------------------------------------------------