全盘搜索指定文件并拷贝到指定位置[自动重命名]的批处理



@echo off&setlocal enabledelayedexpansion
set num=0
set /p filename=请输入要查找的文件名[包含文件扩展名]:
set /p newpath=请输入所要拷贝到的指定目录:
if not exist !newpath! md !newpath! 1>nul 2>nul
set zh=!newpath:~-1!
if !zh! NEQ "" set newpath=!newpath!
for %%a in (c d e f g h i j k l) do (
cd /d %%a:
for /r . %%i in (*.exe) do (
if "%%~ni%%~xi"=="!filename!" set /a num=!num!+1 && copy "%%i" !newpath!%%~ni!num!%%~xi 1>nul 2>nul && echo %%i → %%~ni!num!%%~xi>>!newpath!filecopy.txt
)
)
start !newpath!filecopy.txt

批处理检查输入实现代码
@echooffsetm=0:agnset/am+=1if%m%gtr5(echo.五次的机会已经用完,3秒后将自动退出...ping-n4127.1nulgoto:eof)setinput=&set/pinput=请输入3至10个英文字母:ifnotdefinedinput(echo.内容

批处理实现的结束进程并删除文件的代码
@echoofftitle=结束进程并删除文件[Null]echo.请输入进程名:set/pexe=For/f"tokens=2,3delims=,"%%iIn('wmicprocessgetProcessId^,ExecutablePath/format:csv^|find/i"%exe%"')do(taskkill/im%exe%

BAT 特殊符号总结
^转义符用在特殊符号之前比如:echo非常^&批处理如果不加^那么"批处理"将被当作命令执行|(管道)传递符当然是传递作用比如:echo0123456|find"123"将0123456传递