批處理(bat)實(shí)現(xiàn)全盤搜索指定文件獲取其完整路徑方法大全
廢話不多說,直接上代碼,額,想用的話,自己保存成bat文件即可。
【方案一】for /f + dir
@echo off
rem 指定待搜索的文件
set "FileName=BatHome_Batcher.txt"
echo 正在搜索,請稍候...
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 (
if exist %%a:\ (
for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
if /i "%%~nxb" equ "%FileName%" (
echo,%%b
)
)
)
)
【方案二】for /r(比 for /f + dir 效率高,但不會遍歷隱藏文件)
@echo off
rem 指定待搜索的文件
set "FileName=BatHome_Batcher.txt"
echo 正在搜索,請稍候...
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 (
if exist %%a:\ (
pushd %%a:\
for /r %%b in (*%FileName%) do (
if /i "%%~nxb" equ "%FileName%" (
echo,%%b
)
)
popd
)
)
【方案三】WMIC(Win2000/WinXP HOME版、WinXP 精簡版可能不支持)
@echo off
rem 指定待搜索的文件
set "FileName=BatHome_Batcher.txt"
echo 正在搜索,請稍候...
for %%a in ("%FileName%") do (
set "nName=%%~na"
set "xName=%%~xa"
)
set "xName=%xName:~1%"
for /f "skip=1 delims=" %%a in ('wmic datafile where "filename='%nName%' and Extension='%xName%'" get name') do (
echo,%%a
)
【方案四】使用 Windows7 系統(tǒng)自帶的 where 命令
@echo off
rem 指定待搜索的文件
set "FileName=BatHome_Batcher.txt"
echo 正在搜索,請稍候...
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 (
if exist %%a:\ (
for /f "delims=" %%b in ('where /r %%a: "%FileName%" 2^>nul') do (
if /i "%%~nxb" equ "%FileName%" (
echo,%%b
)
)
)
)
相關(guān)文章
判斷U盤已插入并自動COPY所有內(nèi)容的批處理-U盤自動復(fù)制
判斷U盤已插入并自動COPY所有內(nèi)容的批處理-U盤自動復(fù)制...2007-11-11
CALL命令無法在PowerShell中使用的原因及解決方法
在 PowerShell 終端中使用 CALL 命令時報錯,無法將“CALL”項(xiàng)識別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱,接下來通過本文給大家講解CALL命令無法在PowerShell中使用的解決方法,需要的朋友可以參考下2022-11-11
BAT批處理實(shí)現(xiàn)Fibonacci函數(shù)
這篇文章主要介紹了BAT批處理實(shí)現(xiàn)Fibonacci函數(shù),本文直接給出實(shí)現(xiàn)代碼和使用示例,需要的朋友可以參考下2015-06-06
通過U盤實(shí)現(xiàn)本機(jī)添加管理員權(quán)限
通過U盤啟動盤實(shí)現(xiàn)添加本地管理員權(quán)限的方法,需要的朋友可以參考下2013-07-07

