文件批量检索复制
本帖最后由 youhun200 于 2023-12-28 11:53 编辑这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧:lol
@echo off
title文件批量检索复制
color1e
:stad
ifnotexistlist.txtgotoexd
cls
@echo.
set/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
if"%ph%"==""goto stad
ifexist"%ph%"goto menu
md"%ph%"
:menu
cls
mshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
list.txt
findstr /rc:"." /rc:" " list.txt||gotoens
cls
@echo.
@echo 回车继续......
pause >nul
cls
@echo.
@echo 正在搜索文件,稍候......
for /f"tokens=1*"%%fin (list.txt) dodir/s/a/b\*"%%f"*>>lise.txt
cls
@echo.
cls
findstr /rc:"." /rc:" "lise.txt||gotoerr
cls
mshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
lise.txt
@echo.
@echo 回车继续......
pause >nul
cls
findstr /rc:"." /rc:" "lise.txt||gotoerx
cls
for /f"tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f""%ph%">nul2>nul
cls
@echo.
set cnt=0
for /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1
)
if defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.
del/q lise.txt>nul
mshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)
explorer.exe %ph%
exit
:exd
cls
@echo. >list.txt
cls
mshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)
cls
goto stad
:ens
cls
mshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close)
ifnotexistlist.txtgoto exd
goto menu
:err
cls
mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
exit
:erx
cls
del/q lise.txt>nul
mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
exit
差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd
在这里好多人不是做电气的,对于语言不了解的,既然写在这里不如做成一个插件,然后大家在输入框里输入想查的东西,一点查询就能用好些。
批处理命令?... 楼主NB....应用场景是? mhfx2020 发表于 2023-12-28 15:57
楼主NB....应用场景是?
以下是从运行开始到结束的截图
好物,收藏了。感谢分享
页:
[1]