|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑 , G+ r7 I1 H8 U' e/ ]# Z" W9 ~
+ i# `0 K9 U0 B' g+ Z: T这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧 1 |+ B6 k) W7 t* c0 o
@echo off2 A5 ?0 K! D; M3 F
title 文件批量检索复制
5 y) y) K: }9 E6 z3 p: Xcolor 1e+ K# v/ E/ t+ G
:stad1 l7 ~$ R `- Z! h$ }- k* ?& O
if not exist list.txt goto exd6 Q9 Y, s) ]3 o, {1 D% e
cls1 h4 W' u% S( i: [) y
@echo.8 l* q% \, q2 K+ k& ^
set/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
: h5 N8 Y. f% a( K! Q: aif "%ph%"=="" goto stad* n. y7 p/ k# N) b" m( L
if exist "%ph%" goto menu
7 M" Y I; [3 e& Mmd "%ph%"
" @1 P5 j+ C' z/ ^. E:menu
9 Q( L' Q+ @% Icls! ~# y0 J9 f/ P" G* a* a
mshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close): \+ m$ ~4 ]# ^
list.txt
( P+ V- {; O5 D0 H1 _findstr /rc:"." /rc:" " list.txt|| goto ens
7 R \( L% i4 m, N6 ucls ]' X" W. d. A9 X
@echo. u& x+ z2 z$ }% C0 ^* o
@echo 回车继续......+ ]3 v. t) l7 j; Z' t! e
pause >nul) U) v3 f0 e$ }+ }* M' U' W
cls
+ U" N) O/ u( \# p; Y@echo.( z5 L) S( G$ F* r
@echo 正在搜索文件,稍候......* q* ^- G9 Y8 f3 E b" f5 W, ]/ n
for /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt 0 m1 I& G2 ~ ~ t
cls
+ z+ J1 t6 e" s4 k4 u2 X& ~@echo." F7 o* L3 |) T8 ?8 y- p4 Q
cls
$ @% {: C A$ A q+ l0 m+ vfindstr /rc:"." /rc:" " lise.txt|| goto err) m' Q, B% ^+ D Q, @' L+ e0 W$ ]
cls T) m' C" Y' S6 c1 n8 u8 D& V8 N
mshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)+ u" O- K/ _' ]: |( e
lise.txt' |. W# l1 x# }0 @
@echo.
9 S' `# f8 @, ~8 X3 [ ]@echo 回车继续......+ h% a/ X5 g4 Y! \! F* m. |& \, K1 @
pause >nul
. N- c# g2 d4 Y4 C/ a' c% |cls/ B: Z2 M- q# ~ V" O4 k
findstr /rc:"." /rc:" " lise.txt|| goto erx
6 P$ ? G0 S7 w9 h3 I$ M5 _cls
$ S) U, P$ P& W5 c) w1 u5 `6 Bfor /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul% l8 m8 {/ t0 e8 B s2 b5 Q
cls: g% @4 A' ?; I! |9 P
@echo.) ?) I% q, m& I% _" n1 G
set cnt=0
9 U) R. }# Q/ Z, y! N" m7 Jfor /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=12 T2 ~& h8 a0 f/ X% u. f$ K
)
& y# t4 y7 @) R% f7 \if defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.4 k' a; L/ j" G) }) y) c
del/q lise.txt >nul
& m/ w/ B$ g" ^3 e3 r: \$ T6 _mshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)# @) q6 Q* U2 D. Z* e! u% A; d
explorer.exe %ph%0 o4 N7 Y/ b; V# }/ O8 d, o/ b
exit
7 D; a. z) o& [% T- J# d: f$ _3 k, P:exd0 |) l+ ~0 K$ K n7 p
cls
& Y! X' X+ F. A" h# b$ ]# i- Z@echo. >list.txt3 F" t% W5 ^. L
cls$ I }% @0 ^* k7 s
mshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)) M$ O: R4 ?! C2 C
cls2 k; `4 `8 j4 Z% A2 u3 L
goto stad
$ ?4 R, J1 U% z; U:ens* y/ w' y+ b4 `3 O3 r! H- r
cls
9 a' k0 h1 T9 i. Tmshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close)
! U% N3 z4 G1 c2 R+ yif not exist list.txt goto exd; [/ o' y4 t" U1 z% |1 L
goto menu8 k, C* E, i: X5 g5 f3 s# q( q
:err. d o5 L" D, A2 P' ~; L
cls
& F. J) P% d( k, K9 Qmshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)* E5 P4 F9 t/ C. p
exit
2 |/ r" n2 x9 s; C+ n& \3 L( {:erx4 p" w* B* ^& _# S* m- ~! c4 f
cls
% C, D$ j- h9 udel/q lise.txt >nul 2 M+ i& {$ |7 W. h3 m7 s/ `
mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
. d, v1 A& T, U. H1 a+ Y- ]" Y) dexit
$ z) {3 p1 w$ _/ ^6 f9 P# ~5 R* O差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd
5 S& K. h4 O6 o2 W
: h7 R) Y1 t+ c% | |
评分
-
查看全部评分
|