标题: [文件操作] 搜尋指定檔案 列出菜單!? [打印本页]
作者: 回憶愛情 时间: 2012-9-28 15:31 标题: 搜尋指定檔案 列出菜單!?
本帖最后由 回憶愛情 于 2012-9-28 16:11 编辑
不知道這問題是否有人問過( 關於 這問題我不知該如何蒐尋 如有問過 請見諒
步驟1. 列出 指定的 2~3級目錄內 查找 指定檔名
如:
.\根目錄\test\SETUP.iso
.\根目錄\tt\test\SETUP.iso
.\根目錄\tb\test\SETUP.iso
紅色字體為 固定檔(不過 鑒於 名稱或許容易發生混淆 需要+一個辨識
(鑑別同目錄下的 ok.jpg 存在 則 保存變數 也就是說 當同一個目錄下 ok.jpg 存在 則 路徑 輸入到變數 否則 跳出....
若 所有磁盤無指定 則 goto :error1
步驟2. 利用查找到的變數 建立一個菜單
echo [1] 路徑..1
echo [2] 路徑..2
步驟3 輸入 1 or 2 獲取變數 代入後續動作 (最後不是要執行 setup.iso 而是把路徑當一個變數 往下工作...
(由於 或許會在很多 磁盤存在同一個 \test\SETUP.iso
懇請 各位 幫忙
作者: batman 时间: 2012-9-28 16:18
本帖最后由 batman 于 2012-9-28 16:56 编辑
- @echo off&setlocal enabledelayedexpansion
- for /r %%a in (*.iso) do (
- set "str=%%a"&set "flag=a"
- if /i "!str:~-15!" neq "\test\SETUP.iso" set "flag="
- if not exist "%%~dpaok.jpg" set "flag="
- if defined flag set /a n+=1&set "_!n!=%%a"
- )
- if not defined n echo 没有找到任何文件&pause>nul&exit
- :lp
- cls
- for /f "tokens=1,2 delims=_=" %%a in ('set _') do echo [%%a] %%b
- set "select="&set /p select=请选择路径:
- set "choice="&set /p choice=请确认是否执行(Y/N):
- if /i "%choice%" equ "n" goto lp
- echo !_%select%!&pause
复制代码
作者: 回憶愛情 时间: 2012-9-28 16:47
回复 2# batman
出現 找不到檔案 我把 test 放在 根目錄 & 一級子目路 都試過了 q_q
作者: batman 时间: 2012-9-28 16:56
回复 3# 回憶愛情
已修改,再试
作者: 回憶愛情 时间: 2012-9-28 17:07
回复 4# batman
一樣的結果 ><
作者: batman 时间: 2012-9-28 17:46
回复 5# 回憶愛情
没办法,自己搭建了环境,测试可以啊
作者: 回憶愛情 时间: 2012-9-28 18:33
本帖最后由 回憶愛情 于 2012-9-28 18:46 编辑
回复 6# batman
哈哈 打开了 echo 终于找到重点....
我都忘了 那个确认 ok.jpg 囧... sor
(话说 只能查找 根 批次同盘的...(需要是 全盘搜索....
不用那么多层 3层足以
作者: 回憶愛情 时间: 2012-9-29 12:08
回复 6# batman
修改了一下 可搜尋各磁盤 就是 ok.jpg 複確認 搞不定 囧
有請高手出手 ><
@echo off
cls
:s1
setlocal enableDelayedExpansion
for %%a 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 (
for /f "delims=" %%b in ('dir /a-d /b /s %%a:\test\*.iso 2^>nul') do (
set/a n+=1&echo [!n!] %%b
set ".!n!=%%b"
)
)
set/p aa=選擇:
for %%a in ("!aa!") do set iso=!.%%~a!
:s2
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |