查询文件并输出文件路径
@setlocal enabledelayedexpansion
@echo off
set /p FileName=please enter filename:
set Disk=C
set SrcPath=\Users\123
for %%a in (%Disk%) do (
if exist %%a:\ (
pushd %%a:\
for /r %SrcPath% %%b in (*%FileName%) do (
echo seraching...please.waiting...
if /i "%%~nxb" equ "%FileName%" (
echo %%b
)
)
popd
)
)
pause
查询输入的文件名(必须包含后缀)并且在Disk盘中SrcPath目录下查找相关文件并全路径复制到ToPath下
@setlocal enabledelayedexpansion
@echo off
set ToPath=C:\Users\123\
set Disk=W
set SrcPath=\Source
rem 查询输入的文件名(必须包含后缀)并且在Disk盘中SrcPath目录下查找相关文件并全路径复制到ToPath下
set /p FileName=please enter filename:
echo seraching...please.waiting...
for %%a in (%Disk%) do (
if exist %%a:\ (
pushd %%a:\
for /r %SrcPath% %%b in (*%FileName%) do (
if /i "%%~nxb" equ "%FileName%" (
REM echo %%b
set NeedPath=%%b
REM echo !NeedPath!
set NewPath=!ToPath!!NeedPath:~3! REM remove front 3 words
REM echo !NewPath!
echo f |xcopy "!NeedPath!" "!NewPath!"
)
)
popd
)
)
pause
循环遍历当前文件夹中的所有的文件名,并且在Disk盘中SrcPath目录下查找相关文件并全路径复制到ToPath下(这个的前提是所有文件都有,还是有点麻烦)
@echo off
@setlocal enabledelayedexpansion
set ToPath=C:\Users\123
set Disk=W
set SrcPath=\Source
goto use
set workingDir =%~dp0
for /r %workingDir% %%f in (. *) do (
echo %%~nf
rem 文件名
echo %%~xf
rem 文件扩展名
echo %%~nxf
)
rem 循环遍历当前文件夹中的所有的文件名,并且在Disk盘中SrcPath目录下查找相关文件并全路径复制到ToPath下(这个的前提是所有文件都有,还是有点麻烦)
:use
set workingDir =%~dp0
for /r %workingDir% %%i in (. *) do (
echo %%~nxi
set "NeedFile=%%~nxi"
echo seraching.!NeedFile!.please.waiting...
for %%a in (%Disk%) do (
if exist %%a:\ (
pushd %%a:\
for /r %SrcPath% %%b in (*!NeedFile!) do (
if /i "%%~nxb" equ "!NeedFile!" (
REM echo %%b
set NeedPath=%%b
REM echo !NeedPath!
set NewPath=!ToPath!!NeedPath:~3!
REM remove front 3 words
REM echo !NewPath!
echo f |xcopy /y "!NeedPath!" "!NewPath!"
)
)
popd
)
)
)
pause