|
本帖最后由 youhun200 于 2023-12-28 11:53 编辑
/ c" ~$ V8 W8 U5 f4 u" u n
& ?: u2 A$ n W5 i/ Y这个小程序是根据自己工作需要编写的,很简单,就是在跳出的list.txt里列出你要复制的文件名(可以不写后缀名),由上至下写入,然后按提示创建文件夹或已有文件夹,检索后会弹出一个搜索到的文件清单,以供编辑。保存后回车,文件就全复制你指定的文件夹里了。下面我把代码复制过来,仅供参考。(360会有提示,若不放心可以分析代码,绝不会有损害系统的执行代码)就当是一种娱乐吧
) T% Z, B; C$ b; l; |/ |# I@echo off- n9 x; h% \* y# a( ~- n2 J
title 文件批量检索复制
5 b' M( L* z! H1 v( A& |6 Y! L1 V* fcolor 1e& y; i$ W H6 s0 F
:stad
+ ~% W! @/ h2 u% G! J0 Oif not exist list.txt goto exd
5 ~3 X: x9 Y4 V+ o$ N1 R: C5 zcls: y$ n% I: ~: e& O% Z9 C: C
@echo.
( r( R: j3 N% yset/p ph= ● 输入创建文件夹的名称或已有文件夹名(空输入无效):
- J9 q% Z) ^+ j' J' Oif "%ph%"=="" goto stad4 l$ |( Y+ @0 U3 P& E0 U
if exist "%ph%" goto menu
' e9 ]! a) t6 L# h$ ?3 Ymd "%ph%"
/ ?+ W9 d0 F% P- ?9 D:menu C9 p# _& F$ B0 M6 B* T5 K
cls6 X5 }& {# r* L( s& @5 ~/ \$ O
mshta vbscript:msgbox("在文本中输入需要搜索的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
u7 _, M+ N6 N* ]list.txt 2 U' q5 B. _7 [) @7 M) |
findstr /rc:"." /rc:" " list.txt|| goto ens$ s4 }( h5 K8 b2 `/ l+ N; i
cls% w( i3 u8 V( Z: C/ u: {! ^" F
@echo.* ~1 m/ t) \" H( t* I* S
@echo 回车继续......4 q" Y; t1 @7 {7 i
pause >nul( k0 K5 q/ t# s P
cls. H' [6 s; Z+ Q
@echo.
" } l0 l6 ^$ ~! A s9 A" n" L@echo 正在搜索文件,稍候......
9 V, | E" {3 W, Z$ z' m1 c0 wfor /f "tokens=1*" %%f in (list.txt) do dir/s/a/b \*"%%f"* >>lise.txt * x& o b' A6 ^% |
cls
1 L" ]2 K' a7 \7 E: ?1 k@echo.. E9 F% P6 L9 }* K- E: [, r; O
cls, \7 K+ C4 `- B9 t8 e w* r
findstr /rc:"." /rc:" " lise.txt|| goto err
. d( o4 y6 Z4 F5 {3 Lcls
( y4 m' i- }; D8 C% H$ t. G) T& R, fmshta vbscript:msgbox("查阅并编辑搜索到的文件列表, 保存并回车,单击确定",64,"提示")(window.close)
6 [( m) \2 c- q) f) ?* xlise.txt
- p- c# L. h$ Y! ?+ Q8 h4 U: w@echo.
' ?- p! |8 O3 C$ A@echo 回车继续......
# Q- ?6 t1 u6 E* Fpause >nul; N* r5 n! z3 ?0 J
cls. `) M7 q% Q$ f5 W8 F/ t/ v
findstr /rc:"." /rc:" " lise.txt|| goto erx
9 d; P ]" i2 Gcls6 I* D9 x! L0 e3 c8 ^ D1 B' [
for /f "tokens=1* delims=" %%f in (lise.txt) do copy/y "%%f" "%ph%" >nul 2>nul7 Q* j; d' X6 J6 ?1 B3 a9 W+ F% U
cls
% k0 k( ]( H/ A. `$ o& P@echo.
% S6 A9 Y$ Q, K8 {, d$ [set cnt=00 t H, }# E6 O" Y7 _
for /f "delims=" %%i in ('dir/b/a-d "%ph%" 2^>nul') do (set /a cnt+=1
% m" D X5 m! ?$ C6 K7 J5 })
: E+ O/ p" B* W0 gif defined cnt (set inf=共搜索到【%cnt%】个文件.) else echo,NO find files.6 I! V9 h! W: \# U0 d) @
del/q lise.txt >nul+ s7 N" F u# ?5 A9 [: b
mshta vbscript:msgbox("%inf%"^&vbCr^&vbCr^&"复制完成! 单击确定退出",64,"提示")(window.close)
; l* M1 u8 i5 [. O! x1 ~) _explorer.exe %ph%
( ]" \! v; ?4 o- N8 W+ dexit
7 d/ ]% @. n3 O; [( s:exd
4 X) {8 _1 U. F% W o' G8 A5 [cls
* T( G5 }0 [% s0 S3 Y [( o6 F' \@echo. >list.txt
) s( h5 W& _: H) ocls
$ N' T6 Q( e) \! G! ?mshta vbscript:msgbox("【list.txt】文本已创建,单击确定,继续操作.",64,"提示")(window.close)0 S$ I! j. L4 e" a+ T
cls
9 Z; Y. M- C) ^9 b1 G1 v6 ngoto stad
! ~% j/ p$ t; y, m$ A:ens H1 q* N X( J3 Z5 P( e/ d+ x
cls
1 G$ C' k- T" s3 J/ U, m7 N; emshta vbscript:msgbox("文本不能为空,单击确定,继续操作. ",16,"错误提示")(window.close)
+ C& ^; U; Q4 a: T+ ?if not exist list.txt goto exd
% [2 N1 t5 D+ ugoto menu, E: q) ]) `$ r B/ \
:err4 v" R9 c. Y- p; o: }! N. y
cls# F- z5 S _. }: e# Z
mshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)% ^: s1 W" @+ w
exit
9 B; [: l7 l) R( Z& A E2 d:erx
* T8 W7 `8 I. p. P3 Vcls
0 }9 d3 |0 \5 {; ?+ ldel/q lise.txt >nul
" x: y! s v) Z9 i4 D2 Imshta vbscript:msgbox("没有搜索到你要的文件,单击确定退出",64,"提示")(window.close)
* W7 u- y) z; u2 y6 w6 i7 iexit
! K) G3 ^5 S$ A, n, y4 e差点忘了,用记事本粘贴后,自己起名,后缀名写为bat或cmd
1 R! T5 i& W9 F# A, G8 x# \7 `. [& P3 M1 s+ J
|
评分
-
查看全部评分
|