|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑 9 |' \" M8 p9 i! V' ?/ `
2 @0 N0 t6 B6 f9 t4 x
这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧$ |# j: o7 d+ J: j2 _
@echo off5 j( A9 ?2 W: W8 [7 s4 \
title 文件批量检索复制+ o( p& d& G: {$ y) U
color 1e S+ \6 @1 {* U* S/ q' F
:stad
3 Z; I& O& F# }if not exist list.txt goto exd
1 i {; V' A7 h) c3 Ccls
) y; w! K# y7 L* u/ t2 h% f9 s/ q@echo.
: H' p% o7 A7 ^set/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
3 r2 d6 z0 s; d+ P0 Mif "%ph%"=="" goto stad
" A, I1 f4 [3 Cif exist "%ph%" goto menu) E* }8 F0 _6 x2 W0 ^) z
md "%ph%"
5 c* s0 C6 \$ X" J" [* H:menu
7 n! y4 U6 Q% n: ^4 ]& ~cls- |2 y4 t' ^2 p; ^5 q
mshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
0 B5 c4 T: A) j/ S+ a6 Blist.txt 6 O7 u+ y' `: w; D$ K1 J/ G) m
findstr /rc:"." /rc:" " list.txt|| goto ens
% a$ l$ n: @) ~- O3 [* Kcls
( F- S4 l7 j( f) C* F7 D@echo.
/ K# W' }6 G+ m7 X3 l& h- b@echo 回车继续......7 H4 w' F' E; K' q! P' Y# ]9 s) x P
pause >nul+ Q# E! w* q% `) R+ i
cls
2 U& `3 w1 E2 a& z@echo.8 X' l+ o _, p9 _
@echo 正在搜索文件,稍候......
7 {, B/ [& P! K3 I* m) Xfor /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt 5 z. ?, ?) i: f$ w8 t! @& u1 o
cls
% S* ]. s6 Q9 \@echo., k' @% s' y+ o3 t4 o
cls- r6 p( X% G# R6 f
findstr /rc:"." /rc:" " lise.txt|| goto err8 b) @5 ?+ S2 ]" w$ i. P# |
cls
" G/ g4 w4 L& P% X Q- Lmshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
) ^& H( ~' u! i. v, \ zlise.txt
! L6 i! @, d+ i- j$ V, Q$ ^0 t# N@echo.& c: v/ l1 P( q/ @9 J. T
@echo 回车继续......$ ` ]' v( R2 }1 S4 p
pause >nul% f, L& O7 f% f! c6 D
cls$ p) e& n9 o- p2 i$ N! C- i' O7 l+ w
findstr /rc:"." /rc:" " lise.txt|| goto erx
; s$ z0 L$ C0 c7 Z. L+ i) gcls9 ^; F9 R2 q5 ^1 g/ [
for /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul, }& W: ?4 n) Y9 k/ K/ x; H
cls5 F, H1 d% r; B$ b! s( ?# I
@echo.1 M6 Q1 w& P+ u2 C
set cnt=0
^' r# h# K5 M/ E0 Dfor /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1
3 K: U. {" \6 O0 _* k+ b)
: G' Z9 p& {* n4 |9 Qif defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.# V6 w: V( X5 C( m1 X; I
del/q lise.txt >nul7 w' q# m& z) C: P' C8 U
mshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)
) N+ F' q- Z: j$ t/ o" G3 Qexplorer.exe %ph%
$ P" c. L1 Q" M* V/ E cexit9 a& n5 q- c7 h% M
:exd
5 o- ^: o4 h8 V& M. Gcls; C/ H. Y2 M5 }/ \1 H3 X
@echo. >list.txt4 `& R% S' I, D- E: R& D9 }$ H
cls
6 S9 w' t1 ~) ?5 l5 L9 y" f7 [# ~0 kmshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)
P- E) W$ X1 k F( \* B( i' d& jcls2 \: H# m2 S5 \8 ]* ?3 B
goto stad
9 d5 k9 n6 Y- D, F- P. p:ens3 @: Z+ r2 Y4 T
cls* X9 x/ ?$ r* p. K3 Q
mshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close) N0 F5 T5 z+ N$ R, `* v* I& C
if not exist list.txt goto exd
2 |/ I2 i. K" U6 \6 Qgoto menu8 y5 s T! h4 G2 a
:err4 W; W# A! N: M/ X$ N% C; Z
cls0 M- `( C2 F8 u. ?
mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)# m/ G. g4 p0 g/ S$ ~
exit# G! d# r& d' H, C+ q3 K& O3 z
:erx6 D" [4 L/ K) _, W- H
cls) O$ Y& i7 W# S) U
del/q lise.txt >nul
0 p( D* V5 U+ w! o2 G& qmshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
: w A1 x9 R) ~+ Wexit
- t9 `7 D: W( E' q8 \差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd4 h( K* I1 f0 V" [
( y( x# M4 q9 ] T& T2 q
|
评分
-
查看全部评分
|